diff options
author | Tristan Gingold <tgingold@free.fr> | 2015-05-27 03:51:50 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2015-05-27 03:51:50 +0200 |
commit | 719f5418c95be27edcdfea5c437d44d2ef8c67de (patch) | |
tree | 570bec4128ffaaae3b600c3b96314682605cd815 /src/vhdl/iir_chains.adb | |
parent | 5f17068849547fa1ce7bfd6320188d9317aba7ec (diff) | |
download | ghdl-719f5418c95be27edcdfea5c437d44d2ef8c67de.tar.gz ghdl-719f5418c95be27edcdfea5c437d44d2ef8c67de.tar.bz2 ghdl-719f5418c95be27edcdfea5c437d44d2ef8c67de.zip |
Handle signal attribute in declarations. Fix alias of implicit signal.
Diffstat (limited to 'src/vhdl/iir_chains.adb')
-rw-r--r-- | src/vhdl/iir_chains.adb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/vhdl/iir_chains.adb b/src/vhdl/iir_chains.adb index ef47b6485..d6d944f4e 100644 --- a/src/vhdl/iir_chains.adb +++ b/src/vhdl/iir_chains.adb @@ -36,6 +36,7 @@ package body Iir_Chains is procedure Sub_Chain_Append (First, Last : in out Iir; El : Iir) is begin + pragma Assert (El /= Null_Iir); if First = Null_Iir then First := El; else @@ -44,6 +45,18 @@ package body Iir_Chains is Last := El; end Sub_Chain_Append; + procedure Sub_Chain_Append_Chain (First, Last : in out Iir; + First_Sub, Last_Sub : Iir) is + begin + pragma Assert (First_Sub /= Null_Iir); + if First = Null_Iir then + First := First_Sub; + else + Set_Chain (Last, First_Sub); + end if; + Last := Last_Sub; + end Sub_Chain_Append_Chain; + function Is_Chain_Length_One (Chain : Iir) return Boolean is begin return Chain /= Null_Iir and then Get_Chain (Chain) = Null_Iir; |