From: Martin Sebor Date: Sat, 4 Jun 2016 20:50:50 +0000 (+0000) Subject: PR c/48116 - -Wreturn-type does not work as advertised X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=58bfcc6615d1d472bfde8acb229a95a1803bb9f1;p=gcc.git PR c/48116 - -Wreturn-type does not work as advertised gcc/ChangeLog: 2016-06-04 Martin Sebor Marcin Baczyński 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 From-SVN: r237093 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7df6c67c761..3e3a2553944 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2016-06-04 Martin Sebor + Marcin Baczyński + + 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 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Do not check diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 89bd983d741..e3a2399f220 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -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