PR c/48116 - -Wreturn-type does not work as advertised
authorMartin Sebor <msebor@redhat.com>
Sat, 4 Jun 2016 20:50:50 +0000 (20:50 +0000)
committerMartin Sebor <msebor@gcc.gnu.org>
Sat, 4 Jun 2016 20:50:50 +0000 (14:50 -0600)
gcc/ChangeLog:
2016-06-04  Martin Sebor  <msebor@redhat.com>
    Marcin Baczyński <marbacz@gmail.com>

PR c/48116
* doc/invoke.texi (-Wreturn-type): Mention not warning on return with
a void expression in a void function.

Co-Authored-By: Marcin Baczyński <marbacz@gmail.com>
From-SVN: r237093

gcc/ChangeLog
gcc/doc/invoke.texi

index 7df6c67c761e2c04baea08808f760868ab3ffd08..3e3a255394474d9b7980c3fea799c5560a6a4a81 100644 (file)
@@ -1,3 +1,10 @@
+2016-06-04  Martin Sebor  <msebor@redhat.com>
+           Marcin Baczyński <marbacz@gmail.com>
+
+       PR c/48116
+       * doc/invoke.texi (-Wreturn-type): Mention not warning on return with
+       a void expression in a void function.
+
 2016-06-03  Jan Hubicka  <hubicka@ucw.cz>
 
        * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Do not check
index 89bd983d741c37cf608c9001da1215ef6621c3b2..e3a2399f2205e354f5b7f9a10f5a589eaf2b07b6 100644 (file)
@@ -4055,8 +4055,12 @@ Warn whenever a function is defined with a return type that defaults
 to @code{int}.  Also warn about any @code{return} statement with no
 return value in a function whose return type is not @code{void}
 (falling off the end of the function body is considered returning
-without a value), and about a @code{return} statement with an
-expression in a function whose return type is @code{void}.
+without a value).
+
+For C only, warn about a @code{return} statement with an expression in a
+function whose return type is @code{void}, unless the expression type is
+also @code{void}.  As a GNU extension, the latter case is accepted
+without a warning unless @option{-Wpedantic} is used.
 
 For C++, a function without return type always produces a diagnostic
 message, even when @option{-Wno-return-type} is specified.  The only