summaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
diff options
context:
space:
mode:
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>1998-07-08 12:16:05 +0000
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>1998-07-08 12:16:05 +0000
commit89c1adad0c2cad1576e543af9dbed9d4d7c054e0 (patch)
tree1a09517983f5d1a0757410a58f92ae55ac9a33a9 /gcc/c-decl.c
parentd1a9855af4f39dc2194cd63383f433b8565ef726 (diff)
downloadgcc-89c1adad0c2cad1576e543af9dbed9d4d7c054e0.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21007 138bc75d-0d04-0410-961f-82ee72b054a4
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 9901db80e68..3af985d732d 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;
}