From 0e77949e878dd109ee7daffcda12faa1a8000d29 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 7 Jul 2016 15:05:08 +0200 Subject: [multiple changes] 2016-07-07 Ed Schonberg * sem_prag.ads, sem_prag.adb (Build_Classwide_Expression): Include overridden operation as parameter, in order to map formals of the overridden and overring operation properly prior to rewriting the inherited condition. * freeze.adb (Check_Inherited_Cnonditions): Change call to Build_Class_Wide_Expression accordingly. In Spark_Mode, add call to analyze the contract of the parent operation, prior to mapping formals between operations. 2016-07-07 Arnaud Charlet * adabkend.adb (Scan_Back_End_Switches): Ignore -o/-G switches as done in back_end.adb. (Scan_Compiler_Args): Remove special case for CodePeer/SPARK, no longer needed, and prevents proper handling of multi-unit sources. 2016-07-07 Thomas Quinot * g-sechas.adb, g-sechas.ads (GNAT.Secure_Hashes.H): Add Hash_Stream type with Write primitive calling Update on the underlying context (and dummy Read primitive raising P_E). 2016-07-07 Thomas Quinot * sem_ch13.adb: Minor reformatting. From-SVN: r238111 --- gcc/ada/adabkend.adb | 38 ++++++-------------------------------- 1 file changed, 6 insertions(+), 32 deletions(-) (limited to 'gcc/ada/adabkend.adb') diff --git a/gcc/ada/adabkend.adb b/gcc/ada/adabkend.adb index e850923..7eee887 100644 --- a/gcc/ada/adabkend.adb +++ b/gcc/ada/adabkend.adb @@ -98,31 +98,15 @@ package body Adabkend is -- affect code generation or falling through if it does, so the -- switch will get stored. - if Is_Internal_GCC_Switch (Switch_Chars) then + -- Skip -o, -G or internal GCC switches together with their argument. + + if Switch_Chars (First .. Last) = "o" + or else Switch_Chars (First .. Last) = "G" + or else Is_Internal_GCC_Switch (Switch_Chars) + then Next_Arg := Next_Arg + 1; return; -- ignore this switch - -- Record that an object file name has been specified. The actual - -- file name argument is picked up and saved below by the main body - -- of Scan_Compiler_Arguments. - - elsif Switch_Chars (First .. Last) = "o" then - if First = Last then - if Opt.Output_File_Name_Present then - - -- Ignore extra -o when -gnatO has already been specified - - Next_Arg := Next_Arg + 1; - - else - Opt.Output_File_Name_Present := True; - end if; - - return; - else - Fail ("invalid switch: " & Switch_Chars); - end if; - -- Set optimization indicators appropriately. In gcc-based GNAT this -- is picked up from imported variables set by the gcc driver, but -- for compilers with non-gcc back ends we do it here to allow use @@ -244,16 +228,6 @@ package body Adabkend is then if Is_Switch (Argv) then Fail ("Object file name missing after -gnatO"); - - -- In GNATprove_Mode, such an object file is never written, and - -- the call to Set_Output_Object_File_Name may fail (e.g. when - -- the object file name does not have the expected suffix). - -- So we skip that call when GNATprove_Mode is set. Same for - -- CodePeer_Mode. - - elsif GNATprove_Mode or CodePeer_Mode then - Output_File_Name_Seen := True; - else Set_Output_Object_File_Name (Argv); Output_File_Name_Seen := True; -- cgit v1.1