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.