https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90314

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Specifically, a new warning with -Wpedantic -Wsystem-headers and one of
-std=gnu++98 or -std=c++98 or -ansi, but not with any later dialects.

The alternatives are to leave the macro as it is now (which is valid C++98) and
either

- require the double parentheses whenever it's used with an expression
containing commas and add the double parens to any other declarations (like the
one in <type_traits>), or

- only use the macro for expressions without commas and revert to using #if for
swap in <bits/move.h>


No other uses of it in the library today require the double parens, and very
few declarations of function templates appear in more than one place.

Reply via email to