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

            Bug ID: 96788
           Summary: "integer constant is so large that it is unsigned"
                    warning is incorrect
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: richard-gccbugzilla at metafoo dot co.uk
  Target Milestone: ---

Testcase:

  typedef __typeof(9223372036854775808LL) T;

produces the warning:

  <source>:1:18: warning: integer constant is so large that it is unsigned

for both C and C++ compilations, whether or not __int128 is available for the
target.

What actually appears to happen is that T is __int128 if __int128 is available,
and T is otherwise 'long long'.

Reply via email to