commit 77d4b96ba46e57a761e6844b89de9412011ef583
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Mon Mar 27 19:37:01 2017 +0100
Restructure -Wno-narrowing documentation
* doc/invoke.texi (-Wno-narrowing): Reorder so default behavior is
covered first.
@@ -2869,10 +2869,17 @@ During the link-time optimization warn about type mismatches in
global declarations from different compilation units.
Requires @option{-flto} to be enabled. Enabled by default.
-@item -Wnarrowing @r{(C++ and Objective-C++ only)}
+@item -Wno-narrowing @r{(C++ and Objective-C++ only)}
@opindex Wnarrowing
@opindex Wno-narrowing
-With @option{-std=gnu++98} or @option{-std=c++98}, warn when a narrowing
+For C++11 and later standards, narrowing conversions are diagnosed by default,
+as required by the standard. A narrowing conversion from a constant produces
+an error, and a narrowing conversion from a non-constant produces a warning,
+but @option{-Wno-narrowing} suppresses the diagnostic.
+Note that this does not affect the meaning of well-formed code;
+narrowing conversions are still considered ill-formed in SFINAE contexts.
+
+With @option{-Wnarrowing} in C++98, warn when a narrowing
conversion prohibited by C++11 occurs within
@samp{@{ @}}, e.g.
@@ -2882,14 +2889,6 @@ int i = @{ 2.2 @}; // error: narrowing from double to int
This flag is included in @option{-Wall} and @option{-Wc++11-compat}.
-When a later standard is in effect, e.g. when using @option{-std=c++11},
-narrowing conversions are diagnosed by default, as required by the standard.
-A narrowing conversion from a constant produces an error,
-and a narrowing conversion from a non-constant produces a warning,
-but @option{-Wno-narrowing} suppresses the diagnostic.
-Note that this does not affect the meaning of well-formed code;
-narrowing conversions are still considered ill-formed in SFINAE contexts.
-
@item -Wnoexcept @r{(C++ and Objective-C++ only)}
@opindex Wnoexcept
@opindex Wno-noexcept