aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/s-tpobop.ads
diff options
context:
space:
mode:
authorHristian Kirtchev <kirtchev@adacore.com>2008-04-08 08:55:36 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2008-04-08 08:55:36 +0200
commit7f8b32d5413ad3e2b1a6f67f15a778c72d1c14f7 (patch)
tree02f65010ed4721d7ebd5051768f91745b7c17075 /gcc/ada/s-tpobop.ads
parentfc5c20afff6cfc1139d2fafbb671cfcf7339e633 (diff)
downloadgcc-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.ads9
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