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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Not a bug.

Marc was asking *which* option you're using, -std=gnu++17 or -std=c++17.

__int128 is not an integral type, so in strict -std=c++17 mode the standard
requires that is_integral_v<__int128> is false and therefore
is_signed_v<__int128> has to be false too.

With -std=gnu++17 both are true.

This is by design, not a bug. If you want to use non-standard extensions like
__int128 and have them treated as integral types, don't ask for strict standard
conformance with -std=c++17.

Reply via email to