aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-sem_inst.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-03-24 07:49:02 +0100
committerTristan Gingold <tgingold@free.fr>2020-03-24 07:51:17 +0100
commit91cf6d0fbf8ab78910f74271525d9663f45e44e0 (patch)
tree03403d2bfb6b894ccad819e3d08205ccc3147dd1 /src/vhdl/vhdl-sem_inst.adb
parent8982646305a71ab14057f84e80ee504c8b7d2c67 (diff)
downloadghdl-91cf6d0fbf8ab78910f74271525d9663f45e44e0.tar.gz
ghdl-91cf6d0fbf8ab78910f74271525d9663f45e44e0.tar.bz2
ghdl-91cf6d0fbf8ab78910f74271525d9663f45e44e0.zip
vhdl: move get_subprogram_body_origin to vhdl-sem_inst.
Diffstat (limited to 'src/vhdl/vhdl-sem_inst.adb')
-rw-r--r--src/vhdl/vhdl-sem_inst.adb13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-sem_inst.adb b/src/vhdl/vhdl-sem_inst.adb
index d920f4943..526c4224f 100644
--- a/src/vhdl/vhdl-sem_inst.adb
+++ b/src/vhdl/vhdl-sem_inst.adb
@@ -1220,4 +1220,17 @@ package body Vhdl.Sem_Inst is
end loop;
end Substitute_On_Chain;
+ function Get_Subprogram_Body_Origin (Spec : Iir) return Iir
+ is
+ Res : constant Iir := Get_Subprogram_Body (Spec);
+ Orig : Iir;
+ begin
+ if Res /= Null_Iir then
+ return Res;
+ else
+ Orig := Get_Origin (Spec);
+ pragma Assert (Orig /= Null_Iir);
+ return Get_Subprogram_Body_Origin (Orig);
+ end if;
+ end Get_Subprogram_Body_Origin;
end Vhdl.Sem_Inst;