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

            Bug ID: 113914
           Summary: GCC accepts user-defined integer-literal that does not
                    fit in any type
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: janschultke at googlemail dot com
  Target Milestone: ---

> int operator""_zero(unsigned long long);
> int x = 0x1000000000000000000000000000000000000000000000000000000000000_zero;

This code is ill-formed but GCC does not emit a diagnostic
(https://godbolt.org/z/r9KrGGafY). Note that as per
https://eel.is/c++draft/lex.ext#3, this is treated like a call:

> operator""_zero(0x1000...000ULL)

However, the ULL-suffixed integer-literal would be ill-formed. Clang reject
this.
  • [Bug c++/113914] New: GCC a... janschultke at googlemail dot com via Gcc-bugs

Reply via email to