From: Jonathan Wakely Date: Mon, 27 Mar 2017 22:00:45 +0000 (+0100) Subject: Restructure -Wno-narrowing documentation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7810f87a4717af9eb77a1985077ec25c5951e52b;p=gcc.git Restructure -Wno-narrowing documentation * doc/invoke.texi (-Wno-narrowing): Reorder so default behavior is covered first. From-SVN: r246513 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a2729173bf3..a45168e67f6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-03-27 Jonathan Wakely + + * doc/invoke.texi (-Wno-narrowing): Reorder so default behavior is + covered first. + 2017-03-27 Jakub Jelinek PR target/80102 diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 3f0eb2f5398..8d3821e1c2f 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -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