summaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-19 12:09:49 +0000
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-19 12:09:49 +0000
commit95c90e04ee6d5268b0897fbbbf56d5757c035838 (patch)
treedca43bd0a0db3df3cbcc88768c895067aa836aba /gcc/c-common.c
parent9bf217119bd804a84f8bde2298a35d776f36147f (diff)
downloadgcc-95c90e04ee6d5268b0897fbbbf56d5757c035838.tar.gz
PR c/22476
* c-common.c (check_function_arguments): Call 'check_function_format' if either -Wformat or -Wmissing-format-attribute are specified. * c-format.c (check_function_format): Check -Wformat before calling 'check_format_info'. * c-opts.c (c_common_post_options): Don't warn for -Wmissing-format-attribute without -Wformat. * c-typeck.c (convert_for_assignment): Detect additional cases for -Wmissing-format-attribute. * doc/invoke.texi (-Wmissing-format-attribute): Document new behavior. testsuite: * gcc.dg/format/miss-1.c, gcc.dg/format/miss-2.c: Don't specify -Wformat for these tests. * gcc.dg/format/miss-3.c, gcc.dg/format/miss-4.c, gcc.dg/format/miss-5.c, gcc.dg/format/miss-6.c: New. * gcc.dg/format/opt-6.c: Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102155 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r--gcc/c-common.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c
index f7463e1f553..90a373cfa66 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -5505,11 +5505,11 @@ check_function_arguments (tree attrs, tree params, tree typelist)
/* Check for errors in format strings. */
- if (warn_format)
- {
+ if (warn_format || warn_missing_format_attribute)
check_function_format (attrs, params);
- check_function_sentinel (attrs, params, typelist);
- }
+
+ if (warn_format)
+ check_function_sentinel (attrs, params, typelist);
}
/* Generic argument checking recursion routine. PARAM is the argument to