diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-06 10:49:08 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-06 10:49:08 +0000 |
commit | d570bc7b39f2a13790b984a9518262bf66d010dc (patch) | |
tree | 1d03d1d13e6397e09f20b29ba0b7da5ce2876a78 /gcc/ada/s-stoele.ads | |
parent | 29aacb7d48e75b7d6f131bd00a0ead0a362a300d (diff) | |
download | gcc-d570bc7b39f2a13790b984a9518262bf66d010dc.tar.gz |
2007-04-20 Eric Botcazou <ebotcazou@adacore.com>
* s-stoele.ads, s-stoele.adb: Move inline_always subprograms earlier
than their first call.
Add type Dummy_Communication_Block used in the generation of the pre-
defined dispatching primitive _disp_asynchronous_select.
(Storage_Element): Put Pragma Universal_Aliasing on it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125467 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/s-stoele.ads')
-rw-r--r-- | gcc/ada/s-stoele.ads | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/gcc/ada/s-stoele.ads b/gcc/ada/s-stoele.ads index 3b1527bfbdc..2bc6c8bb20e 100644 --- a/gcc/ada/s-stoele.ads +++ b/gcc/ada/s-stoele.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 2002-2006, Free Software Foundation, Inc. -- +-- Copyright (C) 2002-2007, Free Software Foundation, Inc. -- -- -- -- This specification is derived from the Ada Reference Manual for use with -- -- GNAT. The copyright notice above, and the license provisions that follow -- @@ -64,6 +64,13 @@ package System.Storage_Elements is type Storage_Element is mod 2 ** Storage_Unit; for Storage_Element'Size use Storage_Unit; + pragma Warnings (Off); + pragma Universal_Aliasing (Storage_Element); + pragma Warnings (On); + -- This type is used by the expansion to implement aggregate copy. + -- We turn off warnings for this pragma to deal with being compiled + -- with an earlier GNAT version that does not recognize this pragma. + type Storage_Array is array (Storage_Offset range <>) of aliased Storage_Element; for Storage_Array'Component_Size use Storage_Unit; @@ -111,4 +118,25 @@ package System.Storage_Elements is pragma Inline_Always (To_Integer); pragma Pure_Function (To_Integer); + -- The following is a dummy record designed to mimic Communication_Block as + -- defined in s-tpobop.ads: + + -- type Communication_Block is record + -- Self : Task_Id; -- An access type + -- Enqueued : Boolean := True; + -- Cancelled : Boolean := False; + -- end record; + + -- The record is used in the construction of the predefined dispatching + -- primitive _disp_asynchronous_select in order to avoid the import of + -- System.Tasking.Protected_Objects.Operations. Note that this package + -- is always imported in the presence of interfaces since the dispatch + -- table uses entities from here. + + type Dummy_Communication_Block is record + Comp_1 : Address; -- Address and access have the same size + Comp_2 : Boolean; + Comp_3 : Boolean; + end record; + end System.Storage_Elements; |