aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/ChangeLog22
-rw-r--r--gcc/ada/debug.adb7
-rw-r--r--gcc/ada/gnat_ugn.texi10
-rw-r--r--gcc/ada/s-fileio.adb10
-rw-r--r--gcc/ada/s-unstyp.ads7
-rw-r--r--gcc/ada/sem_aggr.adb13
6 files changed, 57 insertions, 12 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 0eed4a4..f2a97c0 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,25 @@
+2014-07-31 Javier Miranda <miranda@adacore.com>
+
+ * debug.adb: Complete documentation of -gnatd.z.
+
+2014-07-31 Bob Duff <duff@adacore.com>
+
+ * gnat_ugn.texi: Minor doc fixes.
+
+2014-07-31 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): Fix posting of missing
+ index value.
+
+2014-07-31 Tristan Gingold <gingold@adacore.com>
+
+ * s-unstyp.ads (Packed_Byte): Make this type universal aliasing.
+ (Packed_Bytes1): Make component aliased.
+
+2014-07-31 Robert Dewar <dewar@adacore.com>
+
+ * s-unstyp.ads, s-fileio.adb: Minor reformatting.
+
2014-07-31 Robert Dewar <dewar@adacore.com>
* inline.adb, gnat1drv.adb, exp_ch6.adb, s-fileio.adb: Minor
diff --git a/gcc/ada/debug.adb b/gcc/ada/debug.adb
index be1eff3..562a49c 100644
--- a/gcc/ada/debug.adb
+++ b/gcc/ada/debug.adb
@@ -594,7 +594,12 @@ package body Debug is
-- fully compiled and analyzed, they just get eliminated from the
-- code generation step.
- -- d.z Need documentation of this flag ???
+ -- d.z Enable back end inlining on targets that have the GCC backend (ie.
+ -- all targets except AAMP, .NET and JVM). This switch has no effect
+ -- under GNATprove to avoid confusing the formal verification output,
+ -- and it has no effect if the sources are compiled with frontend
+ -- inlining (ie. -gnatN). This switch is currently used to evaluate
+ -- the impact of back end inlining.
-- d.A There seems to be a problem with ASIS if we activate the circuit
-- for reading and writing the aspect specification hash table, so
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
index bbbe553..8e7b4fb 100644
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -14869,7 +14869,10 @@ tool argument.
Incremental processing on a per-file basis. Source files are only
processed if they have been modified, or if files they depend on have
been modified. This is similar to the way gnatmake/gprbuild only
-compiles files that need to be recompiled.
+compiles files that need to be recompiled. Note that in this mode
+@command{gnatpp} is acting in place of the compiler, so if a project
+file is used, the switches set for the compiler should not be set
+to switches recognized by @command{gcc}.
@item --pp-off=@var{xxx}
@cindex @option{--pp-off} @command{gnatpp}
@@ -15319,7 +15322,10 @@ options:
--incremental -- incremental processing on a per-file basis. Source files are
only processed if they have been modified, or if files they depend
on have been modified. This is similar to the way gnatmake/gprbuild
- only compiles files that need to be recompiled.
+ only compiles files that need to be recompiled. Note that in this mode
+ @command{gnat2xml} is acting in place of the compiler, so if a project
+ file is used, the switches set for the compiler should not be set
+ to switches recognized by @command{gcc}.
-j@var{n} -- In @option{--incremental} mode, use @var{n} @command{gnat2xml}
processes to perform XML generation in parallel. If @var{n} is 0, then
diff --git a/gcc/ada/s-fileio.adb b/gcc/ada/s-fileio.adb
index 3208d23..4c21b85 100644
--- a/gcc/ada/s-fileio.adb
+++ b/gcc/ada/s-fileio.adb
@@ -991,17 +991,15 @@ package body System.File_IO is
-- Note that we cannot use an aggregate here as File_Ptr is a
-- class-wide access to a limited type (Root_Stream_Type).
- File_Ptr.Is_Regular_File :=
- (is_regular_file (fileno (Stream)) /= 0);
+ File_Ptr.Is_Regular_File := is_regular_file (fileno (Stream)) /= 0;
File_Ptr.Is_System_File := False;
File_Ptr.Text_Encoding := Text_Encoding;
File_Ptr.Shared_Status := Shared;
File_Ptr.Access_Method := Amethod;
File_Ptr.Stream := Stream;
- File_Ptr.Form :=
- new String'(Formstr);
- File_Ptr.Name :=
- new String'(Fullname (1 .. Full_Name_Len));
+ File_Ptr.Form := new String'(Formstr);
+ File_Ptr.Name := new String'(Fullname
+ (1 .. Full_Name_Len));
File_Ptr.Mode := Mode;
File_Ptr.Is_Temporary_File := Tempfile;
File_Ptr.Encoding := Encoding;
diff --git a/gcc/ada/s-unstyp.ads b/gcc/ada/s-unstyp.ads
index 3b97599..9eefc15 100644
--- a/gcc/ada/s-unstyp.ads
+++ b/gcc/ada/s-unstyp.ads
@@ -50,10 +50,13 @@ package System.Unsigned_Types is
-- Used in the implementation of Is_Negative intrinsic (see Exp_Intr)
type Packed_Byte is mod 2 ** 8;
+ pragma Universal_Aliasing (Packed_Byte);
for Packed_Byte'Size use 8;
- -- Component type for Packed_Bytes array
+ -- Component type for Packed_Bytes1, Packed_Bytes2 and Packed_Byte4 arrays.
+ -- As this type is used by the compiler to implement operations on user
+ -- packed array, it needs to be able to alias any type.
- type Packed_Bytes1 is array (Natural range <>) of Packed_Byte;
+ type Packed_Bytes1 is array (Natural range <>) of aliased Packed_Byte;
for Packed_Bytes1'Alignment use 1;
for Packed_Bytes1'Component_Size use Packed_Byte'Size;
-- This is the type used to implement packed arrays where no alignment
diff --git a/gcc/ada/sem_aggr.adb b/gcc/ada/sem_aggr.adb
index a597f73..bf9b24f 100644
--- a/gcc/ada/sem_aggr.adb
+++ b/gcc/ada/sem_aggr.adb
@@ -2229,7 +2229,18 @@ package body Sem_Aggr is
Hi_Val := Table (J - 1).Highest;
if Lo_Val > Hi_Val + 1 then
- Choice := Table (J).Lo;
+
+ -- Set location for flag, if the choice is an
+ -- explicit Range, then point to the low bound,
+ -- otherwise just point to the choice.
+
+ Choice := Table (J).Choice;
+
+ if Nkind (Choice) = N_Range then
+ Choice := Low_Bound (Choice);
+ end if;
+
+ -- Now post appropriate message
if Hi_Val + 1 = Lo_Val - 1 then
Error_Msg_N