https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96788
newbie-02 <newbie-02 at gmx dot de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |newbie-02 at gmx dot de --- Comment #8 from newbie-02 <newbie-02 at gmx dot de> --- fell into same / similar: "long x1li = -9223372036854775808;" produces a warning: "integer constant is so large that it is unsigned". Assume it's the same root in: #7826 Decimal constant -2147483648 cause a warning "decimal constant is so large that it is unsigned", and #84764 Wrong warning "so large that it is unsigned" for __int128 constant the literal is "split evaluated" in sign and value, the value part of LONG_MIN is 1 too big to fit into a positive LONG, thus the warning. Consider it misleading, technically wrong and annoying, think a fix should be trivial, first account the sign, then issue warning ( if any ). Could please someone set to NEW? :-)