aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r--gcc/c-decl.c14
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)