diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-12-12 15:33:39 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-12-12 15:33:39 +0100 |
commit | c9556982a79dfb432240760740c9c2ccdb88e336 (patch) | |
tree | 81d5fd310a93d1f73af0055d67f9e7dd6e158065 | |
parent | cf7bb903f43f72bd5c585665fe471d08f485d430 (diff) | |
download | gcc-c9556982a79dfb432240760740c9c2ccdb88e336.zip gcc-c9556982a79dfb432240760740c9c2ccdb88e336.tar.gz gcc-c9556982a79dfb432240760740c9c2ccdb88e336.tar.bz2 |
[multiple changes]
2011-12-12 Robert Dewar <dewar@adacore.com>
* s-taprop-mingw.adb: Minor reformatting.
2011-12-12 Nicolas Roche <roche@adacore.com>
* gcc-interface/Make-lang.in: Update dependencies.
Add gnattools4 target when building tools in canadian mode
2011-12-12 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_VM_TSD): Complete previous
patch.
2011-12-12 Bob Duff <duff@adacore.com>
* s-tpobop.adb: Use named notation.
* g-bytswa.ads, s-taprop.ads: Minor comment fix.
2011-12-12 Arnaud Charlet <charlet@adacore.com>
* make.adb: Minor comment update.
From-SVN: r182242
-rw-r--r-- | gcc/ada/ChangeLog | 23 | ||||
-rw-r--r-- | gcc/ada/exp_disp.adb | 18 | ||||
-rw-r--r-- | gcc/ada/g-bytswa.ads | 4 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/Make-lang.in | 6 | ||||
-rw-r--r-- | gcc/ada/make.adb | 7 | ||||
-rw-r--r-- | gcc/ada/s-taprop-mingw.adb | 7 | ||||
-rw-r--r-- | gcc/ada/s-taprop.ads | 9 | ||||
-rw-r--r-- | gcc/ada/s-tpobop.adb | 2 |
8 files changed, 61 insertions, 15 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 560970f..2a9e3f4 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,28 @@ 2011-12-12 Robert Dewar <dewar@adacore.com> + * s-taprop-mingw.adb: Minor reformatting. + +2011-12-12 Nicolas Roche <roche@adacore.com> + + * gcc-interface/Make-lang.in: Update dependencies. + Add gnattools4 target when building tools in canadian mode + +2011-12-12 Javier Miranda <miranda@adacore.com> + + * exp_disp.adb (Make_VM_TSD): Complete previous + patch. + +2011-12-12 Bob Duff <duff@adacore.com> + + * s-tpobop.adb: Use named notation. + * g-bytswa.ads, s-taprop.ads: Minor comment fix. + +2011-12-12 Arnaud Charlet <charlet@adacore.com> + + * make.adb: Minor comment update. + +2011-12-12 Robert Dewar <dewar@adacore.com> + * freeze.adb, s-taprop-mingw.adb, exp_disp.adb, sem_ch13.adb: Minor reformatting. diff --git a/gcc/ada/exp_disp.adb b/gcc/ada/exp_disp.adb index c836c19..2ba3150 100644 --- a/gcc/ada/exp_disp.adb +++ b/gcc/ada/exp_disp.adb @@ -6511,10 +6511,20 @@ package body Exp_Disp is -- Alignment - Append_To (TSD_Aggr_List, - Make_Attribute_Reference (Loc, - Prefix => New_Reference_To (Typ, Loc), - Attribute_Name => Name_Alignment)); + -- For CPP types we cannot rely on the value of 'Alignment provided + -- by the backend to initialize this TSD field. + + if Convention (Typ) = Convention_CPP + or else Is_CPP_Class (Root_Type (Typ)) + then + Append_To (TSD_Aggr_List, + Make_Integer_Literal (Loc, 0)); + else + Append_To (TSD_Aggr_List, + Make_Attribute_Reference (Loc, + Prefix => New_Reference_To (Typ, Loc), + Attribute_Name => Name_Alignment)); + end if; -- HT_Link diff --git a/gcc/ada/g-bytswa.ads b/gcc/ada/g-bytswa.ads index 77a6242..7e0dd8f 100644 --- a/gcc/ada/g-bytswa.ads +++ b/gcc/ada/g-bytswa.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 2006-2010, AdaCore -- +-- Copyright (C) 2006-2011, 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- -- @@ -64,6 +64,7 @@ -- subtype String4 is String (1 .. 4); -- function Swapped is new Byte_Swapping.Swapped4 (String4); -- S : String4 := "ABCD"; +-- for S'Alignment use 4; -- begin -- Put_Line (S); -- S := Swapped (S); @@ -74,6 +75,7 @@ -- declare -- type Mask is array (0 .. 15) of Boolean; +-- for Mask'Alignment use 2; -- for Mask'Component_Size use Boolean'Size; -- X : Mask := (0 .. 7 => True, others => False); -- function Swapped is new Byte_Swapping.Swapped2 (Mask); diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in index d4a1c7f..35cddf7 100644 --- a/gcc/ada/gcc-interface/Make-lang.in +++ b/gcc/ada/gcc-interface/Make-lang.in @@ -567,6 +567,7 @@ cross-gnattools: force canadian-gnattools: force $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools1-re $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools2 + $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools4 gnatlib gnatlib-sjlj gnatlib-zcx gnatlib-shared: force $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) \ @@ -4669,8 +4670,9 @@ ada/sem_type.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \ ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads \ ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \ ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tree_io.ads \ - ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \ - ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads + ada/treepr.ads ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb \ + ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \ + ada/widechar.ads ada/sem_util.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \ ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \ diff --git a/gcc/ada/make.adb b/gcc/ada/make.adb index 9204348..0f79af3 100644 --- a/gcc/ada/make.adb +++ b/gcc/ada/make.adb @@ -7842,7 +7842,12 @@ package body Make is Operating_Mode := Check_Semantics; Check_Object_Consistency := False; - -- Comment needed here, what is going on??? + -- Except in CodePeer mode, where we do want to call bind/link + -- in CodePeer mode (-P switch). + + -- This is testing for -gnatcC, what is that??? Also why do we + -- want to call bind/link in the codepeer case with -gnatc + -- specified, seems odd. if Argv'Last >= 7 and then Argv (7) = 'C' then CodePeer_Mode := True; diff --git a/gcc/ada/s-taprop-mingw.adb b/gcc/ada/s-taprop-mingw.adb index c514f04..0a1a3c1 100644 --- a/gcc/ada/s-taprop-mingw.adb +++ b/gcc/ada/s-taprop-mingw.adb @@ -707,8 +707,11 @@ package body System.Task_Primitives.Operations is -- Count attribute. So we decided to remove this processing and just -- call SwitchToThread unconditionally (leaving Do_Yield unreferenced). - -- This means that CXD8002 does not pass on Windows, but we cannot - -- guarantee full Annex D compliance on Windows in any case. + -- Moreover, CXD8002 appears to pass on Windows (although we do not + -- guarantee full Annex D compliance on Windows in any case). + + -- What is not clear is why we now call SwitchToThread in the False + -- case. Other versions don't do that, is it necessary??? SwitchToThread; end Yield; diff --git a/gcc/ada/s-taprop.ads b/gcc/ada/s-taprop.ads index 12fbd71..6f15ce7 100644 --- a/gcc/ada/s-taprop.ads +++ b/gcc/ada/s-taprop.ads @@ -313,10 +313,11 @@ package System.Task_Primitives.Operations is procedure Yield (Do_Yield : Boolean := True); pragma Inline (Yield); - -- Yield the processor. Add the calling task to the tail of the ready - -- queue for its active_priority. The Do_Yield argument is only used in - -- some very rare cases very a yield should have an effect on a specific - -- target and not on regular ones. + -- Yield the processor. Add the calling task to the tail of the ready queue + -- for its active_priority. On most platforms, Yield is a no-op if Do_Yield + -- is False. But on some platforms (notably VxWorks), Do_Yield is ignored. + -- This is only used in some very rare cases where a Yield should have an + -- effect on a specific target and not on regular ones. procedure Set_Priority (T : ST.Task_Id; diff --git a/gcc/ada/s-tpobop.adb b/gcc/ada/s-tpobop.adb index 171c771..0ed75a8 100644 --- a/gcc/ada/s-tpobop.adb +++ b/gcc/ada/s-tpobop.adb @@ -740,7 +740,7 @@ package body System.Tasking.Protected_Objects.Operations is -- OS (e.g VxWorks) to give higher priority tasks a chance to run -- (see CXD6002). - STPO.Yield (False); + STPO.Yield (Do_Yield => False); if Entry_Call.With_Abort and then Entry_Call.Cancellation_Attempted |