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'.