From aa9ea6a1ac7e1eb68bdc789ab6855e6bdca554f4 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 17 Jun 2010 15:14:44 +0200 Subject: [multiple changes] 2010-06-17 Vincent Celier * gnatcmd.adb (Non_VMS_Usage): Do not issue usage for gnat sync. Update the last line of the usage, indicating what commands do not accept project file switches. * vms_conv.adb: Do not issue usage line for GNAT SYNC * vms_data.ads: Fix errors in the qualifiers /LOGFILE and /MAIN of GNAT ELIM. * gnat_ugn.texi: Document the relaxed rules for library directories in externally built library projects. 2010-06-17 Doug Rupp * s-auxdec-vms_64.ads: Make boolean and arithmetic operations intrinsic where possible. * s-auxdec-vms-alpha.adb: Remove kludges for aforemention. * gcc-interface/Makefile.in: Update VMS target pairs. 2010-06-17 Vasiliy Fofanov * adaint.c: Reorganized in order to avoid use of GetProcessId to stay compatible with Windows NT 4.0 which doesn't provide this function. 2010-06-17 Vincent Celier * ali-util.adb (Time_Stamp_Mismatch): In Verbose mode, if there is different timestamps but the checksum is the same, issue a short message saying so. 2010-06-17 Arnaud Charlet * s-interr.adb (Finalize): If the Abort_Task signal is set to system, it means that we cannot reset interrupt handlers since this would require potentially sending the abort signal to the Server_Task. From-SVN: r160911 --- gcc/ada/ChangeLog | 35 ++++++ gcc/ada/adaint.c | 25 ++-- gcc/ada/ali-util.adb | 8 ++ gcc/ada/gcc-interface/Makefile.in | 9 +- gcc/ada/gnat_ugn.texi | 13 ++- gcc/ada/gnatcmd.adb | 7 +- gcc/ada/s-auxdec-vms-alpha.adb | 237 +------------------------------------- gcc/ada/s-auxdec-vms_64.ads | 21 ++-- gcc/ada/s-interr.adb | 18 ++- gcc/ada/vms_conv.adb | 12 +- gcc/ada/vms_data.ads | 4 +- 11 files changed, 115 insertions(+), 274 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 17fba32..b47018a 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,38 @@ +2010-06-17 Vincent Celier + + * gnatcmd.adb (Non_VMS_Usage): Do not issue usage for gnat sync. + Update the last line of the usage, indicating what commands do not + accept project file switches. + * vms_conv.adb: Do not issue usage line for GNAT SYNC + * vms_data.ads: Fix errors in the qualifiers /LOGFILE and /MAIN of + GNAT ELIM. + * gnat_ugn.texi: Document the relaxed rules for library directories in + externally built library projects. + +2010-06-17 Doug Rupp + + * s-auxdec-vms_64.ads: Make boolean and arithmetic operations intrinsic + where possible. + * s-auxdec-vms-alpha.adb: Remove kludges for aforemention. + * gcc-interface/Makefile.in: Update VMS target pairs. + +2010-06-17 Vasiliy Fofanov + + * adaint.c: Reorganized in order to avoid use of GetProcessId to stay + compatible with Windows NT 4.0 which doesn't provide this function. + +2010-06-17 Vincent Celier + + * ali-util.adb (Time_Stamp_Mismatch): In Verbose mode, if there is + different timestamps but the checksum is the same, issue a short + message saying so. + +2010-06-17 Arnaud Charlet + + * s-interr.adb (Finalize): If the Abort_Task signal is set to system, + it means that we cannot reset interrupt handlers since this would + require potentially sending the abort signal to the Server_Task. + 2010-06-17 Ed Schonberg * exp_ch4.adb: expand NOT for VMS types. diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c index 54b3223..d73f63db 100644 --- a/gcc/ada/adaint.c +++ b/gcc/ada/adaint.c @@ -2474,7 +2474,7 @@ static HANDLE *HANDLES_LIST = NULL; static int *PID_LIST = NULL, plist_length = 0, plist_max_length = 0; static void -add_handle (HANDLE h) +add_handle (HANDLE h, int pid) { /* -------------------- critical section -------------------- */ @@ -2490,7 +2490,7 @@ add_handle (HANDLE h) } HANDLES_LIST[plist_length] = h; - PID_LIST[plist_length] = GetProcessId (h); + PID_LIST[plist_length] = pid; ++plist_length; (*Unlock_Task) (); @@ -2521,8 +2521,8 @@ __gnat_win32_remove_handle (HANDLE h, int pid) /* -------------------- critical section -------------------- */ } -static HANDLE -win32_no_block_spawn (char *command, char *args[]) +static void +win32_no_block_spawn (char *command, char *args[], HANDLE *h, int *pid) { BOOL result; STARTUPINFO SI; @@ -2587,10 +2587,14 @@ win32_no_block_spawn (char *command, char *args[]) if (result == TRUE) { CloseHandle (PI.hThread); - return PI.hProcess; + *h = PI.hProcess; + *pid = PI.dwProcessId; } else - return NULL; + { + *h = NULL; + *pid = 0; + } } static int @@ -2627,7 +2631,7 @@ win32_wait (int *status) h = hl[res - WAIT_OBJECT_0]; GetExitCodeProcess (h, &exitcode); - pid = GetProcessId (h); + pid = PID_LIST [res - WAIT_OBJECT_0]; __gnat_win32_remove_handle (h, -1); free (hl); @@ -2661,12 +2665,13 @@ __gnat_portable_no_block_spawn (char *args[]) #elif defined (_WIN32) HANDLE h = NULL; + int pid; - h = win32_no_block_spawn (args[0], args); + win32_no_block_spawn (args[0], args, &h, &pid); if (h != NULL) { - add_handle (h); - return GetProcessId (h); + add_handle (h, pid); + return pid; } else return -1; diff --git a/gcc/ada/ali-util.adb b/gcc/ada/ali-util.adb index e996611..3443fe3 100644 --- a/gcc/ada/ali-util.adb +++ b/gcc/ada/ali-util.adb @@ -481,6 +481,14 @@ package body ALI.Util is (Get_File_Checksum (Sdep.Table (D).Sfile), Source.Table (Src).Checksum) then + if Verbose_Mode then + Write_Str (" "); + Write_Str (Get_Name_String (Sdep.Table (D).Sfile)); + Write_Str (": up to date, different timestamps " & + "but same checksum"); + Write_Eol; + end if; + Sdep.Table (D).Stamp := Source.Table (Src).Stamp; end if; diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index 47bf9fd..a6ceeb0 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -1476,11 +1476,10 @@ ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(targ))) g-enblsp.adb Object.Previous_Handlers (N).Handler, diff --git a/gcc/ada/vms_conv.adb b/gcc/ada/vms_conv.adb index 0772a49..e9aba49 100644 --- a/gcc/ada/vms_conv.adb +++ b/gcc/ada/vms_conv.adb @@ -2274,9 +2274,15 @@ package body VMS_Conv is New_Line; while Commands /= null loop - Put (Commands.Usage.all); - Set_Col (53); - Put_Line (Commands.Unix_String.all); + + -- No usage for GNAT SYNC + + if Commands.Command /= Sync then + Put (Commands.Usage.all); + Set_Col (53); + Put_Line (Commands.Unix_String.all); + end if; + Commands := Commands.Next; end loop; diff --git a/gcc/ada/vms_data.ads b/gcc/ada/vms_data.ads index 9d1443e..564deb3 100644 --- a/gcc/ada/vms_data.ads +++ b/gcc/ada/vms_data.ads @@ -3637,14 +3637,14 @@ package VMS_Data is -- -- Duplicate all the output sent to Stderr into a default log file. - S_Elim_Logfile : aliased constant S := "/LOGFILE=@ " & + S_Elim_Logfile : aliased constant S := "/LOGFILE=@" & "-l@"; -- /LOGFILE=logfilename -- -- Duplicate all the output sent to Stderr into a specified log file. - S_Elim_Main : aliased constant S := "/MAIN=@ " & + S_Elim_Main : aliased constant S := "/MAIN=@" & "-main=@"; -- /MAIN=filename -- cgit v1.1