diff options
-rw-r--r-- | gcc/ada/ChangeLog | 22 | ||||
-rw-r--r-- | gcc/ada/debug.adb | 7 | ||||
-rw-r--r-- | gcc/ada/gnat_ugn.texi | 10 | ||||
-rw-r--r-- | gcc/ada/s-fileio.adb | 10 | ||||
-rw-r--r-- | gcc/ada/s-unstyp.ads | 7 | ||||
-rw-r--r-- | gcc/ada/sem_aggr.adb | 13 |
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 |