From 7f05e691acbf37a5ec8b2cbd30c023368db86505 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Sat, 28 Aug 2021 10:14:15 +0200 Subject: vhdl: handle foreign units in libraries and configuration --- src/libraries.adb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/libraries.adb') diff --git a/src/libraries.adb b/src/libraries.adb index 0c79d77d9..70c9d4178 100644 --- a/src/libraries.adb +++ b/src/libraries.adb @@ -1114,7 +1114,14 @@ package body Libraries is while Design_Unit /= Null_Iir loop Next_Design_Unit := Get_Hash_Chain (Design_Unit); Design_File := Get_Design_File (Design_Unit); - Library_Unit := Get_Library_Unit (Design_Unit); + case Get_Kind (Design_Unit) is + when Iir_Kind_Foreign_Module => + Library_Unit := Design_Unit; + when Iir_Kind_Design_Unit => + Library_Unit := Get_Library_Unit (Design_Unit); + when others => + raise Internal_Error; + end case; if Get_Identifier (Design_Unit) = Unit_Id and then Get_Library (Design_File) = Work_Library and then Is_Same_Library_Unit (New_Library_Unit, Library_Unit) -- cgit v1.2.3