From 569f538b9d55c4cb780cf03df9357eb61139ba5a Mon Sep 17 00:00:00 2001 From: Thomas Quinot Date: Mon, 15 Oct 2007 15:58:10 +0200 Subject: [PATCH] g-soccon-vms.ads: Fix value of MSG_WAITALL. 2007-10-15 Thomas Quinot * 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 --- gcc/ada/atree.adb | 2 ++ gcc/ada/exp_util.adb | 10 ++++++---- gcc/ada/g-soccon-vms.ads | 2 +- gcc/ada/gen-soccon.c | 16 +++++++++++----- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/gcc/ada/atree.adb b/gcc/ada/atree.adb index f274bc8b623..1e8b1ccf1eb 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 b033704f744..dc181aa1586 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 ab6c761d9d0..a8aff61fc74 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 26be9378df8..79701bbad10 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 -- 2.30.2