Commit 4a870dba by Jason Merrill Committed by Jeff Law

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
parent ed79bb3d
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",
......
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