toplev.c (lang_options): Add -Wlong-long, -Wno-long-long options.

* toplev.c (lang_options): Add -Wlong-long, -Wno-long-long
	options.
	* c-decl.c (warn_long_long): Define.
	(c_decode_option): Parse -Wlong-long, -Wno-long-long options.
	(grokdeclarator): Add flag `warn_long_long' as guard for
	warning "ANSI C does not support `long long'".
	* invoke.texi: Add description of options -Wlong-long,
	-Wno-long-long.
	* gcc.1: The same as above.
	* cp-tree.h (warn_long_long): Define.
	* decl.c (grokdeclarator): Add flag `warn_long_long' as guard for
	warning "ANSI C++ does not support `long long'".
	* decl2.c (warn_long_long): Define.
	(lang_decode_option): Parse -Wlong-long, -Wno-long-long options.

From-SVN: r21007
This commit is contained in:
Vladimir N. Makarov 1998-07-08 12:16:05 +00:00 committed by Vladimir Makarov
parent 37785a19fd
commit 795add948b
9 changed files with 65 additions and 3 deletions

View File

@ -1,3 +1,15 @@
1998-07-08 Vladimir N. Makarov <vmakarov@cygnus.com>
* toplev.c (lang_options): Add -Wlong-long, -Wno-long-long
options.
* c-decl.c (warn_long_long): Define.
(c_decode_option): Parse -Wlong-long, -Wno-long-long options.
(grokdeclarator): Add flag `warn_long_long' as guard for
warning "ANSI C does not support `long long'".
* invoke.texi: Add description of options -Wlong-long,
-Wno-long-long.
* gcc.1: The same as above.
Wed Jul 8 02:43:34 1998 Jeffrey A Law (law@cygnus.com)
* rtlanal.c (reg_overlap_mentioned_p): Handle STRICT_LOW_PART. If

View File

@ -485,6 +485,10 @@ int flag_no_ident = 0;
int warn_implicit_int;
/* Nonzero means warn about usage of long long when `-pedantic'. */
int warn_long_long = 1;
/* Nonzero means message about use of implicit function declarations;
1 means warning; 2 means error. */
@ -704,6 +708,10 @@ c_decode_option (argc, argv)
}
else if (!strcmp (p, "-Wno-implicit"))
warn_implicit_int = 0, mesg_implicit_function_declaration = 0;
else if (!strcmp (p, "-Wlong-long"))
warn_long_long = 1;
else if (!strcmp (p, "-Wno-long-long"))
warn_long_long = 0;
else if (!strcmp (p, "-Wwrite-strings"))
warn_write_strings = 1;
else if (!strcmp (p, "-Wno-write-strings"))
@ -4406,7 +4414,7 @@ grokdeclarator (declarator, declspecs, decl_context, initialized)
error ("`long long long' is too long for GCC");
else
{
if (pedantic && ! in_system_header)
if (pedantic && ! in_system_header && warn_long_long)
pedwarn ("ANSI C does not support `long long'");
longlong = 1;
}

View File

@ -1,3 +1,11 @@
1998-07-08 Vladimir N. Makarov <vmakarov@cygnus.com>
* cp-tree.h (warn_long_long): Define.
* decl.c (grokdeclarator): Add flag `warn_long_long' as guard for
warning "ANSI C++ does not support `long long'".
* decl2.c (warn_long_long): Define.
(lang_decode_option): Parse -Wlong-long, -Wno-long-long options.
1998-07-07 Jason Merrill <jason@yorick.cygnus.com>
* decl.c (xref_tag): Handle attributes between 'class' and name.

View File

@ -329,6 +329,10 @@ extern int flag_no_ident;
extern int warn_implicit;
/* Nonzero means warn about usage of long long when `-pedantic'. */
extern int warn_long_long;
/* Nonzero means warn when all ctors or dtors are private, and the class
has no friends. */

View File

@ -8436,7 +8436,7 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
{
if (i == (int) RID_LONG && RIDBIT_SETP (i, specbits))
{
if (pedantic && ! in_system_header)
if (pedantic && ! in_system_header && warn_long_long)
pedwarn ("ANSI C++ does not support `long long'");
if (longlong)
error ("`long long long' is too long for GCC");

View File

@ -178,6 +178,10 @@ int flag_implicit_templates = 1;
int warn_implicit = 1;
/* Nonzero means warn about usage of long long when `-pedantic'. */
int warn_long_long = 1;
/* Nonzero means warn when all ctors or dtors are private, and the class
has no friends. */
@ -686,6 +690,8 @@ lang_decode_option (argc, argv)
if (!strcmp (p, "implicit"))
warn_implicit = setting;
else if (!strcmp (p, "long-long"))
warn_long_long = setting;
else if (!strcmp (p, "return-type"))
warn_return_type = setting;
else if (!strcmp (p, "ctor-dtor-privacy"))

View File

@ -193,6 +193,7 @@ in the following sections.
\-Wimplicit\-int
\-Wimplicit\-function\-declaration
\-Winline
\-Wlong\-long
\-Wmain
\-Wmissing\-prototypes
\-Wmissing\-declarations
@ -2004,6 +2005,20 @@ Warn if an \c
.B \-Wenum\-clash
Warn about conversion between different enumeration types (C++ only).
.TP
.B \-Wlong-long
Warn if
.B long long \c
type is used. This is default. To inhibit
the warning messages, use flag `\|\c
.B \-Wno\-long\-long\c
\&\|'. Flags `\|\c
.B \-W\-long\-long\c
\&\|' and `\|\c
.B \-Wno\-long\-long\c
\&\|' are taken into account only when flag `\|\c
.B \-pedantic\c
\&\|' is used.
.TP
.B \-Woverloaded\-virtual
(C++ only.)
In a derived class, the definitions of virtual functions must match

View File

@ -121,7 +121,8 @@ in the following sections.
-Wid-clash-@var{len} -Wimplicit -Wimplicit-int
-Wimplicit-function-declaration -Wimport
-Werror-implicit-function-declaration -Winline
-Wlarger-than-@var{len} -Wmain -Wmissing-declarations
-Wlarger-than-@var{len} -Wlong-long
-Wmain -Wmissing-declarations
-Wmissing-prototypes -Wmultichar -Wnested-externs -Wno-import
-Wold-style-cast -Woverloaded-virtual -Wparentheses
-Wpointer-arith -Wredundant-decls -Wreorder -Wreturn-type
@ -1704,6 +1705,12 @@ main ()
In this example, g++ will synthesize a default @samp{A& operator =
(const A&);}, while cfront will use the user-defined @samp{operator =}.
@item -Wlong-long
Warn if @samp{long long} type is used. This is default. To inhibit
the warning messages, use @samp{-Wno-long-long}. Flags
@samp{-Wlong-long} and @samp{-Wno-long-long} are taken into account
only when @samp{-pedantic} flag is used.
@item -Werror
Make all warnings into errors.
@end table

View File

@ -864,6 +864,8 @@ char *lang_options[] =
"-Wno-implicit-int",
"-Wimplicit",
"-Wno-implicit",
"-Wlong-long",
"-Wno-long-long",
"-Wmain",
"-Wno-main",
"-Wmissing-braces",