diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-03-27 08:13:49 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-03-27 08:13:49 +0100 |
commit | 1047cf8a647b1eb42d99b0a3e730b55b3994752a (patch) | |
tree | 0e9cbf4e7ba75c5e874d68c28bbe5cd183ff19c5 /src/synth/synth-stmts.adb | |
parent | b004cea2d392fb28110a970e009590afb0ce457e (diff) | |
download | ghdl-1047cf8a647b1eb42d99b0a3e730b55b3994752a.tar.gz ghdl-1047cf8a647b1eb42d99b0a3e730b55b3994752a.tar.bz2 ghdl-1047cf8a647b1eb42d99b0a3e730b55b3994752a.zip |
synth-stmts: handle return from a function without a return.
Diffstat (limited to 'src/synth/synth-stmts.adb')
-rw-r--r-- | src/synth/synth-stmts.adb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/synth/synth-stmts.adb b/src/synth/synth-stmts.adb index b6147ddb3..67911c531 100644 --- a/src/synth/synth-stmts.adb +++ b/src/synth/synth-stmts.adb @@ -1814,8 +1814,9 @@ package body Synth.Stmts is else if Is_Func then if C.Nbr_Ret = 0 then - -- Function returned without a return statement. - raise Internal_Error; + Error_Msg_Synth + (+Call, "function call completed without a return statement"); + Res := null; else pragma Assert (C.Nbr_Ret = 1); pragma Assert (Is_Static (C.Ret_Value)); |