aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl')
-rw-r--r--src/vhdl/configuration.adb3
-rw-r--r--src/vhdl/errorout.adb8
2 files changed, 9 insertions, 2 deletions
diff --git a/src/vhdl/configuration.adb b/src/vhdl/configuration.adb
index a72a2540a..0d11da37b 100644
--- a/src/vhdl/configuration.adb
+++ b/src/vhdl/configuration.adb
@@ -553,7 +553,8 @@ package body Configuration is
Lib_Unit := Get_Library_Unit (Unit);
case Get_Kind (Lib_Unit) is
when Iir_Kind_Entity_Declaration =>
- Load_Design_Unit (Unit, Null_Iir);
+ -- Use WORK as location (should use a command line location ?)
+ Load_Design_Unit (Unit, Work_Library);
Lib_Unit := Get_Library_Unit (Unit);
if Secondary_Id /= Null_Identifier then
Unit := Find_Secondary_Unit (Unit, Secondary_Id);
diff --git a/src/vhdl/errorout.adb b/src/vhdl/errorout.adb
index 67969bec8..0bf2b7f2c 100644
--- a/src/vhdl/errorout.adb
+++ b/src/vhdl/errorout.adb
@@ -156,7 +156,13 @@ package body Errorout is
Location_To_Position (Loc, File, Line, Col);
end if;
when Semantic =>
- Location_To_Position (Loc, File, Line, Col);
+ if Loc = No_Location then
+ File := No_Source_File_Entry;
+ Line := 0;
+ Col := 0;
+ else
+ Location_To_Position (Loc, File, Line, Col);
+ end if;
end case;
if Progname then