diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-03-24 07:49:02 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-03-24 07:51:17 +0100 |
commit | 91cf6d0fbf8ab78910f74271525d9663f45e44e0 (patch) | |
tree | 03403d2bfb6b894ccad819e3d08205ccc3147dd1 /src/vhdl/vhdl-sem_inst.adb | |
parent | 8982646305a71ab14057f84e80ee504c8b7d2c67 (diff) | |
download | ghdl-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.adb | 13 |
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; |