diff options
author | Tristan Gingold | 2014-09-25 07:38:09 +0200 |
---|---|---|
committer | Tristan Gingold | 2014-09-25 07:38:09 +0200 |
commit | 68d26922e31aad3cb34dd3b7689bcec75ad70fcb (patch) | |
tree | ed7d40115bd74b0c4216a94bfc21d5af0837ce4f /sem_specs.adb | |
parent | 5edf93b87e8f3528d9063df08bf70bf538d72545 (diff) | |
download | ghdl-68d26922e31aad3cb34dd3b7689bcec75ad70fcb.tar.gz ghdl-68d26922e31aad3cb34dd3b7689bcec75ad70fcb.tar.bz2 ghdl-68d26922e31aad3cb34dd3b7689bcec75ad70fcb.zip |
Add a python script to automatically generate disp_tree.
Diffstat (limited to 'sem_specs.adb')
-rw-r--r-- | sem_specs.adb | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/sem_specs.adb b/sem_specs.adb index 5100716..ed41875 100644 --- a/sem_specs.adb +++ b/sem_specs.adb @@ -359,7 +359,9 @@ package body Sem_Specs is begin Applied := Sem_Named_Entity1 (Ent, Base); -- FIXME: check the alias denotes a local entity... - if Applied and then Base /= Decl then + if Applied + and then Base /= Strip_Denoting_Name (Decl) + then Error_Msg_Sem (Disp_Node (Ent) & " does not denote the entire object", Attr); @@ -442,7 +444,7 @@ package body Sem_Specs is begin El1 := Get_Case_Statement_Alternative_Chain (El); while El1 /= Null_Iir loop - Sem_Named_Entity_Chain (Get_Associated (El1)); + Sem_Named_Entity_Chain (Get_Associated_Chain (El1)); El1 := Get_Chain (El1); end loop; end; @@ -574,7 +576,6 @@ package body Sem_Specs is Prefix : Iir; Inter : Name_Interpretation_Type; List : Iir_List; - Ov_List : Iir_Overload_List; Name : Iir; begin List := Create_Iir_List; @@ -606,10 +607,7 @@ package body Sem_Specs is Inter := Get_Next_Interpretation (Inter); end loop; - Ov_List := Create_Overload_List (List); - Name := Sem_Decls.Sem_Signature (Ov_List, Sig); - Destroy_Iir_List (List); - Free_Iir (Ov_List); + Name := Sem_Decls.Sem_Signature (Create_Overload_List (List), Sig); if Name = Null_Iir then return; end if; |