diff options
Diffstat (limited to 'translate/ghdldrv/ghdldrv.adb')
-rw-r--r-- | translate/ghdldrv/ghdldrv.adb | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/translate/ghdldrv/ghdldrv.adb b/translate/ghdldrv/ghdldrv.adb index d863f6189..6612fb3fe 100644 --- a/translate/ghdldrv/ghdldrv.adb +++ b/translate/ghdldrv/ghdldrv.adb @@ -637,12 +637,6 @@ package body Ghdldrv is Add_Argument (Compiler_Args, Str); Add_Argument (Linker_Args, Str); Res := Option_Ok; - elsif Option'Length >= 2 - and then (Option (2) = 'O' or Option (2) = 'f') - then - -- Optimization option. - Add_Argument (Compiler_Args, new String'(Option)); - Res := Option_Ok; elsif Option = "-Q" then Flag_Not_Quiet := True; Res := Option_Ok; @@ -653,6 +647,14 @@ package body Ghdldrv is elsif Flags.Parse_Option (Option) then Add_Argument (Compiler_Args, new String'(Option)); Res := Option_Ok; + elsif Option'Length >= 2 + and then (Option (2) = 'O' or Option (2) = 'f') + then + -- Optimization option. + -- This is put after Flags.Parse_Option, since it may catch -fxxx + -- options. + Add_Argument (Compiler_Args, new String'(Option)); + Res := Option_Ok; else Decode_Option (Command_Lib (Cmd), Option, Arg, Res); end if; |