https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70587
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- It's rejected in -std=gnu++11 and gnu++14 mode, but not -std=c++11 / c++14, which agrees with the documentation for -std: > when a GNU dialect of a standard is specified, all features supported by the > compiler are enabled, even when those features change the meaning of the base > standard. As a result, some strict-conforming programs may be rejected. Hex literals have been supported as a GNU extension for many years, that's one of the reasons they are being standardized for C++17.