aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-expr.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-04-02 07:35:01 +0200
committerTristan Gingold <tgingold@free.fr>2020-04-02 07:35:01 +0200
commitfbbdd1e3aeac3adcfa073f3953027972f36e2c82 (patch)
tree6770feccb72bf9c6f4f0900a8ddfd0fada205f79 /src/synth/synth-expr.ads
parentc23324b6b718eda1b34302ea497e0f65fca1a9e1 (diff)
downloadghdl-fbbdd1e3aeac3adcfa073f3953027972f36e2c82.tar.gz
ghdl-fbbdd1e3aeac3adcfa073f3953027972f36e2c82.tar.bz2
ghdl-fbbdd1e3aeac3adcfa073f3953027972f36e2c82.zip
synth: rework - use valtyp for expressions.
Diffstat (limited to 'src/synth/synth-expr.ads')
-rw-r--r--src/synth/synth-expr.ads11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/synth/synth-expr.ads b/src/synth/synth-expr.ads
index 35c1acc0e..ff713ff6a 100644
--- a/src/synth/synth-expr.ads
+++ b/src/synth/synth-expr.ads
@@ -32,14 +32,15 @@ with Vhdl.Nodes; use Vhdl.Nodes;
package Synth.Expr is
-- Perform a subtype conversion. Check constraints.
- function Synth_Subtype_Conversion (Val : Value_Acc;
+ function Synth_Subtype_Conversion (Vt : Valtyp;
Dtype : Type_Acc;
Bounds : Boolean;
Loc : Source.Syn_Src)
- return Value_Acc;
+ return Valtyp;
-- For a static value V, return the value.
function Get_Static_Discrete (V : Value_Acc) return Int64;
+ function Get_Static_Discrete (V : Valtyp) return Int64;
-- Return True only if discrete value V is known to be positive or 0.
-- False means either not positive or unknown.
@@ -69,15 +70,15 @@ package Synth.Expr is
function Synth_Expression_With_Type
(Syn_Inst : Synth_Instance_Acc; Expr : Node; Expr_Type : Type_Acc)
- return Value_Acc;
+ return Valtyp;
function Synth_Expression (Syn_Inst : Synth_Instance_Acc; Expr : Node)
- return Value_Acc;
+ return Valtyp;
-- Use base type of EXPR to synthesize EXPR. Useful when the type of
-- EXPR is defined by itself or a range.
function Synth_Expression_With_Basetype
- (Syn_Inst : Synth_Instance_Acc; Expr : Node) return Value_Acc;
+ (Syn_Inst : Synth_Instance_Acc; Expr : Node) return Valtyp;
function Synth_Bounds_From_Range (Syn_Inst : Synth_Instance_Acc;
Atype : Node) return Bound_Type;