diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2016-07-07 15:05:08 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2016-07-07 15:05:08 +0200 |
commit | 0e77949e878dd109ee7daffcda12faa1a8000d29 (patch) | |
tree | 5124c182f5e68317d94f9bf2746f501ba4f7e9e8 /gcc/ada/adabkend.adb | |
parent | 7dccd19430283ffe5aac0bf55e42f84f5edcddcb (diff) | |
download | gcc-0e77949e878dd109ee7daffcda12faa1a8000d29.zip gcc-0e77949e878dd109ee7daffcda12faa1a8000d29.tar.gz gcc-0e77949e878dd109ee7daffcda12faa1a8000d29.tar.bz2 |
[multiple changes]
2016-07-07 Ed Schonberg <schonberg@adacore.com>
* 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 <charlet@adacore.com>
* 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 <quinot@adacore.com>
* 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 <quinot@adacore.com>
* sem_ch13.adb: Minor reformatting.
From-SVN: r238111
Diffstat (limited to 'gcc/ada/adabkend.adb')
-rw-r--r-- | gcc/ada/adabkend.adb | 38 |
1 files changed, 6 insertions, 32 deletions
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; |