aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/ChangeLog13
-rw-r--r--gcc/ada/back_end.adb2
-rw-r--r--gcc/ada/g-socthi-mingw.adb4
-rw-r--r--gcc/ada/sem_res.adb15
4 files changed, 27 insertions, 7 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 9a028fd..0cb6c9c 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,16 @@
+2010-06-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g-socthi-mingw.adb (C_Recvmsg): Add 'use type' clause for C.size_t;
+ (C_Sendmsg): Likewise.
+
+2010-06-17 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Update comments.
+
+2010-06-17 Vincent Celier <celier@adacore.com>
+
+ * back_end.adb (Scan_Compiler_Arguments): Process last argument
+
2010-06-17 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb, exp_ch6.adb, exp_smem.adb, exp_util.adb: Use Ekind_In.
diff --git a/gcc/ada/back_end.adb b/gcc/ada/back_end.adb
index 02202b8..ee93f14 100644
--- a/gcc/ada/back_end.adb
+++ b/gcc/ada/back_end.adb
@@ -252,7 +252,7 @@ package body Back_End is
-- Loop through command line arguments, storing them for later access
Next_Arg := 1;
- while Next_Arg < Args'Last loop
+ while Next_Arg <= Args'Last loop
Look_At_Arg : declare
Argv : constant String := Args (Next_Arg).all;
diff --git a/gcc/ada/g-socthi-mingw.adb b/gcc/ada/g-socthi-mingw.adb
index ba4a3de..23bab2c 100644
--- a/gcc/ada/g-socthi-mingw.adb
+++ b/gcc/ada/g-socthi-mingw.adb
@@ -271,6 +271,8 @@ package body GNAT.Sockets.Thin is
Msg : System.Address;
Flags : C.int) return System.CRTL.ssize_t
is
+ use type C.size_t;
+
Res : C.int;
Count : C.int := 0;
@@ -408,6 +410,8 @@ package body GNAT.Sockets.Thin is
Msg : System.Address;
Flags : C.int) return System.CRTL.ssize_t
is
+ use type C.size_t;
+
Res : C.int;
Count : C.int := 0;
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb
index ef5e3ad..6f1a132 100644
--- a/gcc/ada/sem_res.adb
+++ b/gcc/ada/sem_res.adb
@@ -8979,16 +8979,19 @@ package body Sem_Res is
Set_Etype (N, Slice_Subtype);
- -- For packed slice subtypes, freeze immediately. Otherwise insert an
- -- itype reference in the slice's actions so that the itype is frozen
- -- at the proper place in the tree (i.e. at the point where actions
- -- for the slice are analyzed). Note that this is different from
- -- freezing the itype immediately, which might be premature (e.g. if
- -- the slice is within a transient scope).
+ -- For packed slice subtypes, freeze immediately (except in the
+ -- case of being in a "spec expression" where we never freeze
+ -- when we first see the expression).
if Is_Packed (Slice_Subtype) and not In_Spec_Expression then
Freeze_Itype (Slice_Subtype, N);
+ -- For all other cases insert an itype reference in the slice's actions
+ -- so that the itype is frozen at the proper place in the tree (i.e. at
+ -- the point where actions for the slice are analyzed). Note that this
+ -- is different from freezing the itype immediately, which might be
+ -- premature (e.g. if the slice is within a transient scope).
+
else
Ensure_Defined (Typ => Slice_Subtype, N => N);
end if;