diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2005-07-19 12:09:49 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2005-07-19 12:09:49 +0000 |
commit | 7876a41423b46245f7eec641217c8330ded8734a (patch) | |
tree | dca43bd0a0db3df3cbcc88768c895067aa836aba /gcc/c-format.c | |
parent | 98ea74375f446196ce2ff7a3d5f7f9587b3ced52 (diff) | |
download | gcc-7876a41423b46245f7eec641217c8330ded8734a.tar.gz |
re PR c++/22476 (-Wmissing-format-attribute should pick out function pointer candidates also)
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.
From-SVN: r102155
Diffstat (limited to 'gcc/c-format.c')
-rw-r--r-- | gcc/c-format.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/c-format.c b/gcc/c-format.c index 10a5f21db59..587f15e9c6b 100644 --- a/gcc/c-format.c +++ b/gcc/c-format.c @@ -864,7 +864,8 @@ check_function_format (tree attrs, tree params) /* Yup; check it. */ function_format_info info; decode_format_attr (TREE_VALUE (a), &info, 1); - check_format_info (&info, params); + if (warn_format) + check_format_info (&info, params); if (warn_missing_format_attribute && info.first_arg_num == 0 && (format_types[info.format_type].flags & (int) FMT_FLAG_ARG_CONVERT)) |