diff --git a/gcc/ada/atree.adb b/gcc/ada/atree.adb index f274bc8b623b71c7d434a0b1b86cc43e27e1ceb8..1e8b1ccf1eb15a2e6d01f47f083d3c7c66895fe7 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 b033704f744564e76a19135f4114a3d9ec8f61eb..dc181aa15866d1d6c38ee8f1a3fb703e91492bf4 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 ab6c761d9d03e68f5dc73239e539117c96eaadd2..a8aff61fc74c1d497aa6a7651ee4de116f34287c 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 26be9378df8b0fdae03658cf91917a17d5a6762b..79701bbad1029468e4306b6689acbeff44f64bf8 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