From 85617eba1e78793df6ea010ea1e16be6cc378ac9 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Mon, 28 Jul 2003 20:03:25 +0000 Subject: c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn when warn_declaration_after_statement. * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn when warn_declaration_after_statement. Call pedwarn_c90, not pedwarn. Correct message: it's "ISO C90", not "ISO C89". * c-common.c (warn_declaration_after_statement): Define. * c-common.h (warn_declaration_after_statement): Declare. * c.opt (Wdeclaration-after-statement): New. * c-errors.c (pedwarn_c90): New function. * c-opts.c (c_common_handle_option) : New. * c-tree.h (pedwarn_c90): Declare. * doc/invoke.texi (Option Summary): Document -Wdeclaration-after-statement. (Warning Options): Ditto. Co-Authored-By: Michael Culbertson From-SVN: r69899 --- gcc/c-errors.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gcc/c-errors.c') diff --git a/gcc/c-errors.c b/gcc/c-errors.c index 2a2fdc0c440..fa71b8cfa97 100644 --- a/gcc/c-errors.c +++ b/gcc/c-errors.c @@ -43,3 +43,21 @@ pedwarn_c99 (const char *msgid, ...) report_diagnostic (&diagnostic); va_end (ap); } + +/* Issue an ISO C90 pedantic warning MSGID. This function is supposed to + be used for matters that are allowed in ISO C99 but not supported in + ISO C90, thus we explicitly don't pedwarn when C99 is specified. + (There is no flag_c90.) */ + +void +pedwarn_c90 (const char *msgid, ...) +{ + diagnostic_info diagnostic; + va_list ap; + + va_start (ap, msgid); + diagnostic_set_info (&diagnostic, msgid, &ap, input_location, + flag_isoc99 ? DK_WARNING : pedantic_error_kind ()); + report_diagnostic (&diagnostic); + va_end (ap); +} -- cgit v1.2.1