Commit 48776cde by Kaveh R. Ghazi Committed by Kaveh Ghazi

c-lex.c (yylex): With -Wtraditional...

	* c-lex.c (yylex): With -Wtraditional, when the ANSI type of an
	integer constant does not match the traditional type, limit the
	warnings to cases where the base of the type is ten.

	* invoke.texi (-Wtraditional): Document it.

From-SVN: r30730
parent 481c7efa
1999-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* c-lex.c (yylex): With -Wtraditional, when the ANSI type of an
integer constant does not match the traditional type, limit the
warnings to cases where the base of the type is ten.
* invoke.texi (-Wtraditional): Document it.
Tue Nov 30 15:18:35 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
......
......@@ -1901,7 +1901,11 @@ yylex ()
type = flag_traditional ? traditional_type : ansi_type;
if (warn_traditional && traditional_type != ansi_type)
/* We assume that constants specified in a non-decimal
base are bit patterns, and that the programmer really
meant what they wrote. */
if (warn_traditional && base == 10
&& traditional_type != ansi_type)
{
if (TYPE_PRECISION (traditional_type)
!= TYPE_PRECISION (ansi_type))
......
......@@ -1692,6 +1692,12 @@ A @code{switch} statement has an operand of type @code{long}.
@item
A non-@code{static} function declaration follows a @code{static} one.
This construct is not accepted by some traditional C compilers.
@item
The ANSI type of an integer constant has a different width or
signedness from its traditional type. This warning is only issued if
the base of the constant is ten. I.e. hexadecimal or octal values, which
typically represent bit patterns, are not warned about.
@end itemize
@item -Wundef
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment