For gcc:
authorGavin Romig-Koch <gavin@cygnus.com>
Thu, 1 Jul 1999 08:08:42 +0000 (08:08 +0000)
committerGavin Romig-Koch <gavin@gcc.gnu.org>
Thu, 1 Jul 1999 08:08:42 +0000 (08:08 +0000)
* c-lex.c (yylex): Improve 'integer constant out of range' messages.
For gcc/cp:
* lex.c (real_yylex): Improve 'integer constant out of range' messages.

From-SVN: r27873

gcc/ChangeLog
gcc/c-lex.c
gcc/cp/ChangeLog
gcc/cp/lex.c

index c971886..37b265b 100644 (file)
@@ -1,3 +1,7 @@
+Thu Jul  1 11:05:25 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * c-lex.c (yylex): Improve 'integer constant out of range' messages.
+
 Wed Jun 30 16:51:41 1999  Nick Clifton  <nickc@cygnus.com>
 
        * configure.in: Add arm-pe and thumb-pe targets.
index 96ca224..214bcd1 100644 (file)
@@ -1775,7 +1775,7 @@ yylex ()
 
            warn = overflow;
            if (warn)
-             pedwarn ("integer constant out of range");
+             pedwarn ("integer constant is too large for this configuration of the compiler - truncated to %d bits", HOST_BITS_PER_WIDE_INT * 2);
 
            /* This is simplified by the fact that our constant
               is always positive.  */
@@ -1866,7 +1866,7 @@ yylex ()
                    < TYPE_PRECISION (type)))
              {
                warn = 1;
-               pedwarn ("integer constant out of range");
+               pedwarn ("integer constant larger than the maximum value of an unsigned long int");
              }
 
            if (base == 10 && ! spec_unsigned && TREE_UNSIGNED (type))
@@ -1903,7 +1903,7 @@ yylex ()
            if (! warn
                && TREE_CODE (TREE_TYPE (yylval.ttype)) == INTEGER_TYPE
                && ! int_fits_type_p (yylval.ttype, TREE_TYPE (yylval.ttype)))
-             pedwarn ("integer constant out of range");
+             pedwarn ("integer constant is larger than the maximum value for its type");
          }
 
        UNGETC (c);
index 6a39297..c71ffd7 100644 (file)
@@ -1,3 +1,7 @@
+1999-07-01  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * lex.c (real_yylex): Improve 'integer constant out of range' messages.
+
 1999-06-28  Richard Henderson  <rth@cygnus.com>
 
         * decl.c (cp_finish_decl): Fix typo in cp_warning_at call.
index 1ab5df3..1e26726 100644 (file)
@@ -3915,7 +3915,7 @@ real_yylex ()
              if (parts[i])
                warn = 1;
            if (warn)
-             pedwarn ("integer constant out of range");
+             pedwarn ("integer constant is too large for this configuration of the compiler - truncated to %d bits", HOST_BITS_PER_WIDE_INT * 2);
 
            /* This is simplified by the fact that our constant
               is always positive.  */
@@ -3956,7 +3956,7 @@ real_yylex ()
              type = long_long_unsigned_type_node;
 
            if (!int_fits_type_p (yylval.ttype, type) && !warn)
-             pedwarn ("integer constant out of range");
+             pedwarn ("integer constant is larger than the maximum value for its type");
 
            if (base == 10 && ! spec_unsigned && TREE_UNSIGNED (type))
              warning ("decimal integer constant is so large that it is unsigned");