diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/synth/synth-decls.adb | 5 | ||||
-rw-r--r-- | src/synth/synth-insts.adb | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/synth/synth-decls.adb b/src/synth/synth-decls.adb index 938860b0e..98485b6ff 100644 --- a/src/synth/synth-decls.adb +++ b/src/synth/synth-decls.adb @@ -792,10 +792,13 @@ package body Synth.Decls is Val := Synth_Subtype_Conversion (Ctxt, Val, Inter_Type, True, Assoc); - if not Is_Static (Val.Val) then + if Val = No_Valtyp then + Set_Error (Sub_Inst); + elsif not Is_Static (Val.Val) then Error_Msg_Synth (+Assoc, "value of generic %i must be static", +Inter); Val := No_Valtyp; + Set_Error (Sub_Inst); end if; Create_Object (Sub_Inst, Inter, Val); diff --git a/src/synth/synth-insts.adb b/src/synth/synth-insts.adb index 228feef94..89340b255 100644 --- a/src/synth/synth-insts.adb +++ b/src/synth/synth-insts.adb @@ -1088,6 +1088,11 @@ package body Synth.Insts is Get_Port_Chain (Ent), Get_Port_Map_Aspect_Chain (Stmt)); + if Is_Error (Sub_Inst) then + -- TODO: Free it? + return; + end if; + if Arch /= Null_Node then -- For whiteboxes: append parameters or/and hash. Enc := Name_Hash; |