aboutsummaryrefslogtreecommitdiffstats
path: root/src/ghdldrv/ghdlcomp.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2018-12-19 06:37:51 +0100
committerTristan Gingold <tgingold@free.fr>2018-12-19 06:37:51 +0100
commit51be8c1991ae4fb9678dd1cfbb62a6ae568737aa (patch)
tree004292e92b1247e7ba81df124f292c8c17352c13 /src/ghdldrv/ghdlcomp.adb
parent9fd4c0216f7f576cfafad01e8842be40d3e1c475 (diff)
downloadghdl-51be8c1991ae4fb9678dd1cfbb62a6ae568737aa.tar.gz
ghdl-51be8c1991ae4fb9678dd1cfbb62a6ae568737aa.tar.bz2
ghdl-51be8c1991ae4fb9678dd1cfbb62a6ae568737aa.zip
Sem: tolerates more parse errors.
Diffstat (limited to 'src/ghdldrv/ghdlcomp.adb')
-rw-r--r--src/ghdldrv/ghdlcomp.adb7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ghdldrv/ghdlcomp.adb b/src/ghdldrv/ghdlcomp.adb
index e04369714..6be97c6ca 100644
--- a/src/ghdldrv/ghdlcomp.adb
+++ b/src/ghdldrv/ghdlcomp.adb
@@ -400,6 +400,9 @@ package body Ghdlcomp is
Hooks.Compile_Init.all (True);
+ -- Analysis won't chock on incorrect parse tree.
+ Flags.Flag_Force_Analysis := Cmd.Flag_Force_Analysis;
+
-- Parse all files.
for I in Args'Range loop
Id := Name_Table.Get_Identifier (Args (I).all);
@@ -428,7 +431,9 @@ package body Ghdlcomp is
Next_Unit := Get_Chain (Unit);
- if Errorout.Nbr_Errors = 0 then
+ if Errorout.Nbr_Errors = 0
+ or else Cmd.Flag_Force_Analysis
+ then
Set_Chain (Unit, Null_Iir);
Libraries.Add_Design_Unit_Into_Library (Unit);
New_Design_File := Get_Design_File (Unit);