aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-stmts.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-03-27 08:13:49 +0100
committerTristan Gingold <tgingold@free.fr>2020-03-27 08:13:49 +0100
commit1047cf8a647b1eb42d99b0a3e730b55b3994752a (patch)
tree0e9cbf4e7ba75c5e874d68c28bbe5cd183ff19c5 /src/synth/synth-stmts.adb
parentb004cea2d392fb28110a970e009590afb0ce457e (diff)
downloadghdl-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.adb5
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));