aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2017-02-23 20:43:36 +0100
committerTristan Gingold <tgingold@free.fr>2017-02-23 20:43:36 +0100
commitf659b3e5c01d32bf49c5e7ecdd5ef09d6cf3a8d1 (patch)
tree8985fa35455bb1c9eae2f07bd738d49e879f3473
parent40dcbe8763094a862db1b32727c988593695f2fd (diff)
downloadghdl-f659b3e5c01d32bf49c5e7ecdd5ef09d6cf3a8d1.tar.gz
ghdl-f659b3e5c01d32bf49c5e7ecdd5ef09d6cf3a8d1.tar.bz2
ghdl-f659b3e5c01d32bf49c5e7ecdd5ef09d6cf3a8d1.zip
path_name/instance_name: handle protected types.
Fixes #290
-rw-r--r--src/vhdl/evaluation.adb11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/vhdl/evaluation.adb b/src/vhdl/evaluation.adb
index cc64c9924..d996cace4 100644
--- a/src/vhdl/evaluation.adb
+++ b/src/vhdl/evaluation.adb
@@ -3796,10 +3796,19 @@ package body Evaluation is
Path_Add_Element (Get_Library_Unit (El), Is_Instance);
when Iir_Kind_Sensitized_Process_Statement
| Iir_Kind_Process_Statement
- | Iir_Kind_Block_Statement =>
+ | Iir_Kind_Block_Statement
+ | Iir_Kind_Protected_Type_Body =>
Path_Add_Element (Get_Parent (El), Is_Instance);
Path_Add_Name (El);
Path_Add (":");
+ when Iir_Kind_Protected_Type_Declaration =>
+ declare
+ Decl : constant Iir := Get_Type_Declarator (El);
+ begin
+ Path_Add_Element (Get_Parent (Decl), Is_Instance);
+ Path_Add_Name (Decl);
+ Path_Add (":");
+ end;
when Iir_Kind_Function_Declaration
| Iir_Kind_Procedure_Declaration =>
Path_Add_Element (Get_Parent (El), Is_Instance);