diff options
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r-- | gcc/c-decl.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c index f16fe7c..f4896f3 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -6129,6 +6129,13 @@ finish_function () && DECL_INLINE (fndecl)) warning ("no return statement in function returning non-void"); + /* With just -Wextra, complain only if function returns both with + and without a value. */ + if (extra_warnings + && current_function_returns_value + && current_function_returns_null) + warning ("this function may return with or without a value"); + /* We're leaving the context of this function, so zap cfun. It's still in DECL_SAVED_INSNS, and we'll restore it in tree_rest_of_compilation. */ cfun = NULL; @@ -6178,13 +6185,6 @@ c_expand_body_1 (tree fndecl, int nested_p) tree_rest_of_compilation (fndecl); - /* With just -Wextra, complain only if function returns both with - and without a value. */ - if (extra_warnings - && current_function_returns_value - && current_function_returns_null) - warning ("this function may return with or without a value"); - if (DECL_STATIC_CONSTRUCTOR (fndecl)) { if (targetm.have_ctors_dtors) |