From: Martin Sebor Date: Mon, 18 Feb 2019 17:44:11 +0000 (+0000) Subject: invoke.texi (-Wreturn-type): Correct and expand. X-Git-Tag: basepoints/gcc-10~1098 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a247605d892747ccc9216ffc047c73bd688ac36;p=thirdparty%2Fgcc.git invoke.texi (-Wreturn-type): Correct and expand. gcc/ChangeLog: * doc/invoke.texi (-Wreturn-type): Correct and expand. From-SVN: r268991 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3caa28a8cca0..5a1afdd0d8b0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2019-02-18 Martin Sebor + + * doc/invoke.texi (-Wreturn-type): Correct and expand. + 2019-02-18 Martin Sebor PR middle-end/89294 diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index ab5cb9308557..a1b7a5f4fcd5 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -5262,13 +5262,16 @@ 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. +without a warning unless @option{-Wpedantic} is used. Attempting +to use the return value of a non-@code{void} function other than @code{main} +that flows off the end by reaching the closing curly brace that terminates +the function is undefined. -For C++, a function without return type always produces a diagnostic -message, even when @option{-Wno-return-type} is specified. The only -exceptions are @code{main} and functions defined in system headers. +Unlike in C, in C++, flowing off the end of a non-@code{void} function other +than @code{main} results in undefined behavior even when the value of +the function is not used. -This warning is enabled by default for C++ and is enabled by @option{-Wall}. +This warning is enabled by default in C++ and by @option{-Wall} otherwise. @item -Wshift-count-negative @opindex Wshift-count-negative