aboutsummaryrefslogtreecommitdiffstats
path: root/src/ghdldrv
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-01-04 16:37:07 +0100
committerTristan Gingold <tgingold@free.fr>2019-01-04 21:01:34 +0100
commit577172e2a52076f4099fcdf4bf8a69649488f514 (patch)
tree8d6b1e848417b97446134c5e24d80191ce90d87c /src/ghdldrv
parent591f3ffe260582cd8057a3470bb1580fea98ebbc (diff)
downloadghdl-577172e2a52076f4099fcdf4bf8a69649488f514.tar.gz
ghdl-577172e2a52076f4099fcdf4bf8a69649488f514.tar.bz2
ghdl-577172e2a52076f4099fcdf4bf8a69649488f514.zip
errorout: discard disabled warnings.
Fix #729
Diffstat (limited to 'src/ghdldrv')
-rw-r--r--src/ghdldrv/ghdldrv.adb11
-rw-r--r--src/ghdldrv/ghdllocal.adb5
-rw-r--r--src/ghdldrv/ghdllocal.ads2
3 files changed, 12 insertions, 6 deletions
diff --git a/src/ghdldrv/ghdldrv.adb b/src/ghdldrv/ghdldrv.adb
index a15736222..3cd7c1f74 100644
--- a/src/ghdldrv/ghdldrv.adb
+++ b/src/ghdldrv/ghdldrv.adb
@@ -603,8 +603,8 @@ package body Ghdldrv is
Arg : String;
Res : out Option_Res)
is
- Str : String_Access;
Opt : constant String (1 .. Option'Length) := Option;
+ Str : String_Access;
begin
Res := Option_Bad;
if Opt = "-v" and then Flag_Verbose = False then
@@ -687,7 +687,14 @@ package body Ghdldrv is
-- compiler_args.
null;
else
- Add_Argument (Compiler_Args, new String'(Opt));
+ if Backend = Backend_Gcc then
+ -- Prefix options for gcc so that lang.opt does need to be
+ -- updated when a new option is added.
+ Str := new String'("--ghdl" & Opt);
+ else
+ Str := new String'(Opt);
+ end if;
+ Add_Argument (Compiler_Args, Str);
end if;
Res := Option_Ok;
elsif Opt'Length > 18
diff --git a/src/ghdldrv/ghdllocal.adb b/src/ghdldrv/ghdllocal.adb
index 030cf118e..5841f1b4f 100644
--- a/src/ghdldrv/ghdllocal.adb
+++ b/src/ghdldrv/ghdllocal.adb
@@ -56,10 +56,9 @@ package body Ghdllocal is
Compile_Init;
end Init;
- function Decode_Driver_Option (Option : String) return Boolean
+ function Decode_Driver_Option (Opt : String) return Boolean
is
- subtype Opt_String is String (1 .. Option'Length);
- Opt : Opt_String renames Option;
+ pragma Assert (Opt'First = 1);
begin
if Opt = "-v" and then Flag_Verbose = False then
Flag_Verbose := True;
diff --git a/src/ghdldrv/ghdllocal.ads b/src/ghdldrv/ghdllocal.ads
index ff66c4d59..3189c58cc 100644
--- a/src/ghdldrv/ghdllocal.ads
+++ b/src/ghdldrv/ghdllocal.ads
@@ -25,7 +25,7 @@ package Ghdllocal is
-- Handle:
-- --std=xx, --work=xx, -Pxxx, --workdir=x, --ieee=x, -Px, and -v
- function Decode_Driver_Option (Option : String) return Boolean;
+ function Decode_Driver_Option (Opt : String) return Boolean;
type Command_Lib is abstract new Command_Type with null record;