From dbbd98a06f7802cc309e2884f7dfabf71942c115 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Sun, 3 May 2020 08:31:25 +0200 Subject: synth: use tri_state_type for seq_assign_value. --- src/synth/synth-environment.ads | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/synth/synth-environment.ads') diff --git a/src/synth/synth-environment.ads b/src/synth/synth-environment.ads index a2f209302..f6d936083 100644 --- a/src/synth/synth-environment.ads +++ b/src/synth/synth-environment.ads @@ -271,8 +271,14 @@ private Nbr_Final_Assign : Natural; end record; - type Seq_Assign_Value (Is_Static : Boolean := True) is record + type Seq_Assign_Value (Is_Static : Tri_State_Type := True) is record case Is_Static is + when Unknown => + -- Used only for no value (in that case, it will use the previous + -- value). + -- This is used only for temporary handling, and is never stored + -- in Seq_Assign. + null; when True => Val : Memtyp; when False => @@ -281,8 +287,7 @@ private end case; end record; - No_Seq_Assign_Value : constant Seq_Assign_Value := - (Is_Static => False, Asgns => No_Partial_Assign); + No_Seq_Assign_Value : constant Seq_Assign_Value := (Is_Static => Unknown); type Seq_Assign_Record is record -- Target of the assignment. -- cgit v1.2.3