diff options
author | Tristan Gingold | 2015-12-30 08:22:17 +0100 |
---|---|---|
committer | Tristan Gingold | 2015-12-30 08:22:17 +0100 |
commit | 73f999bf34ee4bfc0d88e8a22c2b2a40f3ffc3e3 (patch) | |
tree | 8821e11c2dc3af4a283250da7ed7ded26ab6a1da | |
parent | 8f2a3196503cc53a8b84a00ed5c6ea5574e5c6d1 (diff) | |
download | ghdl-73f999bf34ee4bfc0d88e8a22c2b2a40f3ffc3e3.tar.gz ghdl-73f999bf34ee4bfc0d88e8a22c2b2a40f3ffc3e3.tar.bz2 ghdl-73f999bf34ee4bfc0d88e8a22c2b2a40f3ffc3e3.zip |
Use WORK location for loading the elaborated unit.
This sets a real location for error messages.
-rw-r--r-- | src/vhdl/configuration.adb | 3 | ||||
-rw-r--r-- | src/vhdl/errorout.adb | 8 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/vhdl/configuration.adb b/src/vhdl/configuration.adb index a72a254..0d11da3 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 67969be..0bf2b7f 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 |