aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Quinot <quinot@adacore.com>2007-10-15 15:58:10 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2007-10-15 15:58:10 +0200
commit569f538b9d55c4cb780cf03df9357eb61139ba5a (patch)
tree2491f6865c6cf9f65aa14d5a69bc3ca2ac376d9f
parent54df6fd99acba5240ebf37352511e37781dce633 (diff)
downloadgcc-569f538b9d55c4cb780cf03df9357eb61139ba5a.zip
gcc-569f538b9d55c4cb780cf03df9357eb61139ba5a.tar.gz
gcc-569f538b9d55c4cb780cf03df9357eb61139ba5a.tar.bz2
g-soccon-vms.ads: Fix value of MSG_WAITALL.
2007-10-15 Thomas Quinot <quinot@adacore.com> * g-soccon-vms.ads: Fix value of MSG_WAITALL. * gen-soccon.c: Update documentation to note that OpenVMS 8.3 or later must be used to generate g-soccon-vms.ads. * atree.adb: Add ??? comment * exp_util.adb: Minor reformatting. Add ??? comment in Kill_Dead_Code. From-SVN: r129342
-rw-r--r--gcc/ada/atree.adb2
-rw-r--r--gcc/ada/exp_util.adb10
-rw-r--r--gcc/ada/g-soccon-vms.ads2
-rw-r--r--gcc/ada/gen-soccon.c16
4 files changed, 20 insertions, 10 deletions
diff --git a/gcc/ada/atree.adb b/gcc/ada/atree.adb
index f274bc8..1e8b1cc 100644
--- a/gcc/ada/atree.adb
+++ b/gcc/ada/atree.adb
@@ -949,6 +949,8 @@ package body Atree is
Delete_Field (Field3 (Node));
Delete_Field (Field4 (Node));
Delete_Field (Field5 (Node));
+
+ -- ??? According to spec, Node itself should be deleted as well
end Delete_Tree;
-----------
diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb
index b033704..dc181aa 100644
--- a/gcc/ada/exp_util.adb
+++ b/gcc/ada/exp_util.adb
@@ -3402,10 +3402,8 @@ package body Exp_Util is
or else Nkind (N) = N_Subprogram_Body
or else Nkind (N) = N_Package_Body
then
- Kill_Dead_Code
- (Declarations (N), False);
- Kill_Dead_Code
- (Statements (Handled_Statement_Sequence (N)));
+ Kill_Dead_Code (Declarations (N), False);
+ Kill_Dead_Code (Statements (Handled_Statement_Sequence (N)));
if Nkind (N) = N_Subprogram_Body then
Set_Is_Eliminated (Defining_Entity (N));
@@ -3415,6 +3413,10 @@ package body Exp_Util is
Kill_Dead_Code (Visible_Declarations (Specification (N)));
Kill_Dead_Code (Private_Declarations (Specification (N)));
+ -- ??? After this point, Delete_Tree has been called on all
+ -- declarations in Specification (N), so references to
+ -- entities therein look suspicious.
+
declare
E : Entity_Id := First_Entity (Defining_Entity (N));
begin
diff --git a/gcc/ada/g-soccon-vms.ads b/gcc/ada/g-soccon-vms.ads
index ab6c761..a8aff61 100644
--- a/gcc/ada/g-soccon-vms.ads
+++ b/gcc/ada/g-soccon-vms.ads
@@ -138,7 +138,7 @@ package GNAT.Sockets.Constants is
MSG_OOB : constant := 1; -- Process out-of-band data
MSG_PEEK : constant := 2; -- Peek at incoming data
MSG_EOR : constant := 8; -- Send end of record
- MSG_WAITALL : constant := 64; -- Wait for full reception
+ MSG_WAITALL : constant := 128; -- Wait for full reception
MSG_NOSIGNAL : constant := -1; -- No SIGPIPE on send
MSG_Forced_Flags : constant := 0;
-- Flags set on all send(2) calls
diff --git a/gcc/ada/gen-soccon.c b/gcc/ada/gen-soccon.c
index 26be937..79701bb 100644
--- a/gcc/ada/gen-soccon.c
+++ b/gcc/ada/gen-soccon.c
@@ -24,11 +24,17 @@
/* This program generates g-soccon.ads */
-/* To build using DEC C:
- CC/DEFINE="TARGET=""OpenVMS""" gen-soccon
- LINK gen-soccon
- RUN gen-soccon
-*/
+/*
+ * To build using DEC C:
+ *
+ * CC/DEFINE="TARGET=""OpenVMS""" gen-soccon
+ * LINK gen-soccon
+ * RUN gen-soccon
+ *
+ * Note: OpenVMS versions older than 8.3 provide an incorrect value in
+ * the DEC C header files for MSG_WAITALL. To generate the VMS version
+ * of g-soccon.ads, gen-soccon should be run on an 8.3 or later machine.
+ */
#ifndef TARGET
# error Please define TARGET