(yylex): If integer value overflows so highword is negative,
authorRichard Stallman <rms@gnu.org>
Sat, 12 Sep 1992 19:08:12 +0000 (19:08 +0000)
committerRichard Stallman <rms@gnu.org>
Sat, 12 Sep 1992 19:08:12 +0000 (19:08 +0000)
it needs unsigned long long.

From-SVN: r2111

gcc/c-lex.c

index 1587ae6..629e93b 100644 (file)
@@ -1558,6 +1558,8 @@ yylex ()
                else if (! spec_long_long)
                  ansi_type = long_unsigned_type_node;
                else if (! spec_unsigned
+                        /* Verify value does not overflow into sign bit.  */
+                        && TREE_INT_CST_HIGH (yylval.ttype) >= 0
                         && int_fits_type_p (yylval.ttype,
                                             long_long_integer_type_node))
                  ansi_type = long_long_integer_type_node;