diff options
author | Hristian Kirtchev <kirtchev@adacore.com> | 2008-04-08 08:55:36 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2008-04-08 08:55:36 +0200 |
commit | 7f8b32d5413ad3e2b1a6f67f15a778c72d1c14f7 (patch) | |
tree | 02f65010ed4721d7ebd5051768f91745b7c17075 /gcc/ada/s-tpobop.ads | |
parent | fc5c20afff6cfc1139d2fafbb671cfcf7339e633 (diff) | |
download | gcc-7f8b32d5413ad3e2b1a6f67f15a778c72d1c14f7.zip gcc-7f8b32d5413ad3e2b1a6f67f15a778c72d1c14f7.tar.gz gcc-7f8b32d5413ad3e2b1a6f67f15a778c72d1c14f7.tar.bz2 |
s-stoele.ads, [...]: Move the location of Dummy_Communication_Block from System.Storage_Elements to...
2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
* s-stoele.ads, s-soflin.ads: Move the location of
Dummy_Communication_Block from System.Storage_Elements to
System.Soft_Links.
* s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to
emulate Communication_Block in certain scenarios.
From-SVN: r134051
Diffstat (limited to 'gcc/ada/s-tpobop.ads')
-rw-r--r-- | gcc/ada/s-tpobop.ads | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ada/s-tpobop.ads b/gcc/ada/s-tpobop.ads index 8620c79..0e409aa 100644 --- a/gcc/ada/s-tpobop.ads +++ b/gcc/ada/s-tpobop.ads @@ -198,6 +198,15 @@ private end record; pragma Volatile (Communication_Block); + -- When a program contains limited interfaces, the compiler generates the + -- predefined primitives associated with dispatching selects. One of the + -- parameters of these routines is of type Communication_Block. Even if + -- the program lacks implementing concurrent types, the tasking runtime is + -- dragged in unconditionally because of Communication_Block. To avoid this + -- case, the compiler uses type Dummy_Communication_Block which defined in + -- System.Soft_Links. If the structure of Communication_Block is changed, + -- the corresponding dummy type must be changed as well. + -- The Communication_Block seems to be a relic. At the moment, the -- compiler seems to be generating unnecessary conditional code based on -- this block. See the code generated for async. select with task entry |