aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap7.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-08-25 20:21:05 +0200
committerTristan Gingold <tgingold@free.fr>2020-08-26 04:48:18 +0200
commit2559d822bce164556652e616611a93590fd241c6 (patch)
tree7a75234bdff3bd16f1c094701c23b89251ddff1c /src/vhdl/translate/trans-chap7.ads
parent870104dd233bae832c628fce15da0e99d26289cb (diff)
downloadghdl-2559d822bce164556652e616611a93590fd241c6.tar.gz
ghdl-2559d822bce164556652e616611a93590fd241c6.tar.bz2
ghdl-2559d822bce164556652e616611a93590fd241c6.zip
vhdl/translate: handle vhdl-93 'last_value. Fix #1440
Diffstat (limited to 'src/vhdl/translate/trans-chap7.ads')
-rw-r--r--src/vhdl/translate/trans-chap7.ads15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/vhdl/translate/trans-chap7.ads b/src/vhdl/translate/trans-chap7.ads
index 5e52caebd..e4b316637 100644
--- a/src/vhdl/translate/trans-chap7.ads
+++ b/src/vhdl/translate/trans-chap7.ads
@@ -17,19 +17,22 @@
-- 02111-1307, USA.
package Trans.Chap7 is
+ -- Allocate a value (with the same bounds) on the stack for SIG.
+ -- Note: SIG must be stable.
+ function Allocate_Value_From_Signal (Sig : Mnode; Sig_Type : Iir)
+ return Mnode;
+
-- Generic function to extract a value from a signal.
generic
with function Read_Value (Sig : O_Enode; Sig_Type : Iir)
return O_Enode;
- function Translate_Signal_Value (Sig : O_Enode; Sig_Type : Iir)
- return O_Enode;
+ function Translate_Signal_Value (Sig : Mnode; Sig_Type : Iir) return Mnode;
- function Translate_Signal_Driving_Value (Sig : O_Enode; Sig_Type : Iir)
- return O_Enode;
+ function Translate_Signal_Driving_Value (Sig : Mnode; Sig_Type : Iir)
+ return Mnode;
-- For conversions.
- procedure Set_Driving_Value
- (Sig : Mnode; Sig_Type : Iir; Val : Mnode);
+ procedure Set_Driving_Value (Sig : Mnode; Sig_Type : Iir; Val : Mnode);
-- Translate expression EXPR into ortho tree.
function Translate_Expression (Expr : Iir; Rtype : Iir := Null_Iir)