aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
diff options
context:
space:
mode:
authorVladimir N. Makarov <vmakarov@cygnus.com>1998-07-08 12:16:05 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>1998-07-08 12:16:05 +0000
commit795add948b87c51500c306fd95acf3388787e786 (patch)
tree1a09517983f5d1a0757410a58f92ae55ac9a33a9 /gcc/c-decl.c
parent37785a19fde91819c6f441c49a7e56c5f1ae638c (diff)
downloadgcc-795add948b87c51500c306fd95acf3388787e786.zip
gcc-795add948b87c51500c306fd95acf3388787e786.tar.gz
gcc-795add948b87c51500c306fd95acf3388787e786.tar.bz2
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
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r--gcc/c-decl.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 9901db8..3af985d 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -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;
}