summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog16
-rw-r--r--gcc/ada/errout.adb2
-rw-r--r--gcc/ada/exp_ch6.adb6
-rw-r--r--gcc/ada/mlib-prj.adb7
-rw-r--r--gcc/ada/mlib-utl.adb31
5 files changed, 53 insertions, 9 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 0dcdf463a7d..91d571e3f21 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,19 @@
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * mlib-prj.adb (Display): In non verbose mode, truncate after fourth
+ argument.
+ * mlib-utl.adb (Gcc): In non verbose mode, truncate the display of the
+ gcc command if it is too long.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb (Set_Msg_Node): Fix incorrect reference to node.
+
+2010-06-22 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch6.adb (Expand_Actuals): Use Actual as the related node when
+ calling Make_Temporary.
+
2010-06-22 Robert Dewar <dewar@adacore.com>
* sem_res.adb, sem_aux.adb, errout.adb: Minor reformatting.
diff --git a/gcc/ada/errout.adb b/gcc/ada/errout.adb
index 20253a5b7df..ff99f5098a9 100644
--- a/gcc/ada/errout.adb
+++ b/gcc/ada/errout.adb
@@ -2499,7 +2499,7 @@ package body Errout is
-- in case, which is the case when we can copy from the source.
declare
- Src_Loc : constant Source_Ptr := Sloc (Error_Msg_Node_1);
+ Src_Loc : constant Source_Ptr := Sloc (Node);
Sbuffer : Source_Buffer_Ptr;
Ref_Ptr : Integer;
Src_Ptr : Source_Ptr;
diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb
index 9459bc6ec8c..b8659aa07f2 100644
--- a/gcc/ada/exp_ch6.adb
+++ b/gcc/ada/exp_ch6.adb
@@ -964,7 +964,7 @@ package body Exp_Ch6 is
return;
end if;
- Temp := Make_Temporary (Loc, 'T');
+ Temp := Make_Temporary (Loc, 'T', Actual);
-- Use formal type for temp, unless formal type is an unconstrained
-- array, in which case we don't have to worry about bounds checks,
@@ -1216,7 +1216,7 @@ package body Exp_Ch6 is
Reset_Packed_Prefix;
- Temp := Make_Temporary (Loc, 'T');
+ Temp := Make_Temporary (Loc, 'T', Actual);
Incod := Relocate_Node (Actual);
Outcod := New_Copy_Tree (Incod);
@@ -1381,7 +1381,7 @@ package body Exp_Ch6 is
return Entity (Actual);
else
- Var := Make_Temporary (Loc, 'T');
+ Var := Make_Temporary (Loc, 'T', Actual);
N_Node :=
Make_Object_Renaming_Declaration (Loc,
diff --git a/gcc/ada/mlib-prj.adb b/gcc/ada/mlib-prj.adb
index f15b7c06d27..97a4c16180f 100644
--- a/gcc/ada/mlib-prj.adb
+++ b/gcc/ada/mlib-prj.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2009, AdaCore --
+-- Copyright (C) 2001-2010, AdaCore --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -2285,6 +2285,11 @@ package body MLib.Prj is
for Index in 1 .. Argument_Number loop
Write_Char (' ');
Write_Str (Arguments (Index).all);
+
+ if not Opt.Verbose_Mode and then Index > 4 then
+ Write_Str (" ...");
+ exit;
+ end if;
end loop;
Write_Eol;
diff --git a/gcc/ada/mlib-utl.adb b/gcc/ada/mlib-utl.adb
index 78378a673b9..67e03097ed6 100644
--- a/gcc/ada/mlib-utl.adb
+++ b/gcc/ada/mlib-utl.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2002-2008, AdaCore --
+-- Copyright (C) 2002-2010, AdaCore --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -460,11 +460,25 @@ package body MLib.Utl is
end loop;
if not Opt.Quiet_Output then
- Write_Str (Driver.all);
+ if Opt.Verbose_Mode then
+ Write_Str (Driver.all);
+
+ elsif Driver_Name /= No_Name then
+ Write_Str (Get_Name_String (Driver_Name));
+
+ else
+ Write_Str (Gcc_Name.all);
+ end if;
for J in 1 .. A loop
- Write_Char (' ');
- Write_Str (Arguments (J).all);
+ if Opt.Verbose_Mode or else J < 4 then
+ Write_Char (' ');
+ Write_Str (Arguments (J).all);
+
+ else
+ Write_Str (" ...");
+ exit;
+ end if;
end loop;
-- Do not display all the object files if not in verbose mode, only
@@ -480,10 +494,19 @@ package body MLib.Utl is
elsif Position = Second then
Write_Str (" ...");
Position := Last;
+ exit;
end if;
end loop;
for J in Options_2'Range loop
+ if not Opt.Verbose_Mode then
+ if Position = Second then
+ Write_Str (" ...");
+ end if;
+
+ exit;
+ end if;
+
Write_Char (' ');
Write_Str (Options_2 (J).all);
end loop;