From 7b3fabe10aecac99d8b4f4360c414333ee909197 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Wed, 6 Apr 2022 08:19:08 +0200 Subject: synth-vhdl_stmts: emit an error message on missing return. Fix #2019 --- src/synth/synth-vhdl_stmts.adb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/synth/synth-vhdl_stmts.adb b/src/synth/synth-vhdl_stmts.adb index c715ba153..114d98ec1 100644 --- a/src/synth/synth-vhdl_stmts.adb +++ b/src/synth/synth-vhdl_stmts.adb @@ -2031,7 +2031,9 @@ package body Synth.Vhdl_Stmts is else if Is_Func then if C.Nbr_Ret = 0 then - raise Internal_Error; + Error_Msg_Synth + (+Bod, "missing return statement at end of function"); + Res := No_Valtyp; elsif C.Nbr_Ret = 1 and then Is_Static (C.Ret_Value.Val) then Res := C.Ret_Value; else -- cgit v1.2.3