From 58bfcc6615d1d472bfde8acb229a95a1803bb9f1 Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Sat, 4 Jun 2016 20:50:50 +0000 Subject: PR c/48116 - -Wreturn-type does not work as advertised MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- gcc/ChangeLog | 7 +++++++ gcc/doc/invoke.texi | 8 ++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7df6c67..3e3a255 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 89bd983..e3a2399 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 -- cgit v1.1