c-decl.c: Add warn_multichar.
* c-decl.c: Add warn_multichar. (c_decode_option): Handle -Wno-multichar. * c-lex.c (yylex): Check it. * c-tree.h: Declare it. * toplev.c (lang_options): Add it. * invoke.texi: Document it. From-SVN: r20968
This commit is contained in:
parent
ed79bb3d42
commit
4a870dba91
6 changed files with 30 additions and 2 deletions
|
@ -1,3 +1,12 @@
|
|||
Mon Jul 6 22:50:48 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||||
|
||||
* c-decl.c: Add warn_multichar.
|
||||
(c_decode_option): Handle -Wno-multichar.
|
||||
* c-lex.c (yylex): Check it.
|
||||
* c-tree.h: Declare it.
|
||||
* toplev.c (lang_options): Add it.
|
||||
* invoke.texi: Document it.
|
||||
|
||||
Mon Jul 6 22:47:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||
|
||||
* gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK. Changed
|
||||
|
|
|
@ -577,6 +577,10 @@ int warn_unknown_pragmas = 0; /* Tri state variable. */
|
|||
|
||||
int warn_sign_compare = -1;
|
||||
|
||||
/* Nonzero means warn about use of multicharacter literals. */
|
||||
|
||||
int warn_multichar = 1;
|
||||
|
||||
/* Nonzero means `$' can be in an identifier. */
|
||||
|
||||
#ifndef DOLLARS_IN_IDENTIFIERS
|
||||
|
@ -792,6 +796,10 @@ c_decode_option (argc, argv)
|
|||
warn_sign_compare = 1;
|
||||
else if (!strcmp (p, "-Wno-sign-compare"))
|
||||
warn_sign_compare = 0;
|
||||
else if (!strcmp (p, "-Wmultichar"))
|
||||
warn_multichar = 1;
|
||||
else if (!strcmp (p, "-Wno-multichar"))
|
||||
warn_multichar = 0;
|
||||
else if (!strcmp (p, "-Wunknown-pragmas"))
|
||||
/* Set to greater than 1, so that even unknown pragmas in system
|
||||
headers will be warned about. */
|
||||
|
|
|
@ -1872,7 +1872,7 @@ yylex ()
|
|||
num_chars = max_chars;
|
||||
error ("character constant too long");
|
||||
}
|
||||
else if (num_chars != 1 && ! flag_traditional)
|
||||
else if (num_chars != 1 && ! flag_traditional && warn_multichar)
|
||||
warning ("multi-character character constant");
|
||||
|
||||
/* If char type is signed, sign-extend the constant. */
|
||||
|
|
|
@ -505,6 +505,10 @@ extern int warn_missing_braces;
|
|||
|
||||
extern int warn_sign_compare;
|
||||
|
||||
/* Warn about multicharacter constants. */
|
||||
|
||||
extern int warn_multichar;
|
||||
|
||||
/* Nonzero means we are reading code that came from a system header file. */
|
||||
|
||||
extern int system_header_p;
|
||||
|
|
|
@ -122,7 +122,7 @@ in the following sections.
|
|||
-Wimplicit-function-declaration -Wimport
|
||||
-Werror-implicit-function-declaration -Winline
|
||||
-Wlarger-than-@var{len} -Wmain -Wmissing-declarations
|
||||
-Wmissing-prototypes -Wnested-externs -Wno-import
|
||||
-Wmissing-prototypes -Wmultichar -Wnested-externs -Wno-import
|
||||
-Wold-style-cast -Woverloaded-virtual -Wparentheses
|
||||
-Wpointer-arith -Wredundant-decls -Wreorder -Wreturn-type
|
||||
-Wshadow -Wsign-compare -Wstrict-prototypes -Wswitch
|
||||
|
@ -1287,6 +1287,11 @@ Same as @samp{-Wimplicit-int} and @samp{-Wimplicit-function-}@*
|
|||
Warn if the type of @samp{main} is suspicious. @samp{main} should be a
|
||||
function with external linkage, returning int, taking either zero
|
||||
arguments, two, or three arguments of appropriate types.
|
||||
|
||||
@item -Wmultichar
|
||||
Warn if a multicharacter constant (@samp{'FOOF'}) is used. Usually they
|
||||
indicate a typo in the user's code, as they have implementation-defined
|
||||
values, and should not be used in portable code.
|
||||
|
||||
@item -Wparentheses
|
||||
Warn if parentheses are omitted in certain contexts, such
|
||||
|
|
|
@ -872,6 +872,8 @@ char *lang_options[] =
|
|||
"-Wno-missing-declarations",
|
||||
"-Wmissing-prototypes",
|
||||
"-Wno-missing-prototypes",
|
||||
"-Wmultichar",
|
||||
"-Wno-multichar",
|
||||
"-Wnested-externs",
|
||||
"-Wno-nested-externs",
|
||||
"-Wparentheses",
|
||||
|
|
Loading…
Add table
Reference in a new issue