aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2011-12-12 15:33:39 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2011-12-12 15:33:39 +0100
commitc9556982a79dfb432240760740c9c2ccdb88e336 (patch)
tree81d5fd310a93d1f73af0055d67f9e7dd6e158065 /gcc
parentcf7bb903f43f72bd5c585665fe471d08f485d430 (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog23
-rw-r--r--gcc/ada/exp_disp.adb18
-rw-r--r--gcc/ada/g-bytswa.ads4
-rw-r--r--gcc/ada/gcc-interface/Make-lang.in6
-rw-r--r--gcc/ada/make.adb7
-rw-r--r--gcc/ada/s-taprop-mingw.adb7
-rw-r--r--gcc/ada/s-taprop.ads9
-rw-r--r--gcc/ada/s-tpobop.adb2
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