From 6b3e004224ccba39199606f2683265c9e4606e43 Mon Sep 17 00:00:00 2001 From: Tucker Evans Date: Mon, 30 Sep 2019 19:05:12 -0400 Subject: Add check that function returns value --- pc.y | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'pc.y') diff --git a/pc.y b/pc.y index da58fb5..32be027 100644 --- a/pc.y +++ b/pc.y @@ -92,6 +92,8 @@ extern scope *cur_scope; %type TD +%type sub_prog_head + %% program @@ -181,6 +183,9 @@ sub_prog_declaration sub_prog_declarations compound_statement { + if ($1) + check_func_return($4, $1); + set_ret_type($4); #ifdef DEBUG print_tree($4); @@ -219,6 +224,8 @@ sub_prog_head * scope*/ cur_scope->ret_var = scope_insert(cur_scope, strdup($2)); cur_scope->ret_var->var_type = $5; + + $$ = $2; } |PROC ID arguments ';' { @@ -237,6 +244,8 @@ sub_prog_head assert(!set_func_types($3, tmp->func_info->argv, i)); free_tree($3); + + $$ = NULL; } ; -- cgit v1.1