]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Mon, 12 Dec 2011 14:33:39 +0000 (15:33 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 12 Dec 2011 14:33:39 +0000 (15:33 +0100)
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

gcc/ada/ChangeLog
gcc/ada/exp_disp.adb
gcc/ada/g-bytswa.ads
gcc/ada/gcc-interface/Make-lang.in
gcc/ada/make.adb
gcc/ada/s-taprop-mingw.adb
gcc/ada/s-taprop.ads
gcc/ada/s-tpobop.adb

index 560970f3c54146f4e8de7d25b0578ce5c35570d1..2a9e3f45be452fc115c201c6abf54f4409c60526 100644 (file)
@@ -1,3 +1,26 @@
+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
index c836c19adbeafa42ee24d327d3d68dac1993f61d..2ba315085c68d420c385cc1dbaec305802537f49 100644 (file)
@@ -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
 
index 77a6242195a6aa7137170ea737fe2fd8fcdd2072..7e0dd8fc46def9647a58b67b8da1ed6ef143a33d 100644 (file)
@@ -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);
index d4a1c7ff559ffcef24d3ed530b2a2076e4ad060b..35cddf751428f80b6a506c88ee353777e54fb678 100644 (file)
@@ -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 \
index 92043487bfa7ea0658c78654ac83a4e8d75cde77..0f79af3a8665f58b8ace6c755453e078d61861bd 100644 (file)
@@ -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;
index c514f0400f4fcd4e35736953d3eab356902b0ebd..0a1a3c13003cd2c579f6a25549e2a9b6e425aecb 100644 (file)
@@ -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;
index 12fbd71386e73a5d735c3fd1988e53cc266ffb99..6f15ce7f55e93302317107d89e90d76029409daf 100644 (file)
@@ -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;
index 171c771ed61aa6d50a1ef9125af4f27edbb20473..0ed75a8c392df5c3f777edf6a71bf5ba20d1ffca 100644 (file)
@@ -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