diff options
author | Paolo Bonzini <bonzini@gnu.org> | 2010-11-13 09:42:58 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gcc.gnu.org> | 2010-11-13 09:42:58 +0000 |
commit | 18406601136a40c875005c3f11563f657fc1f0ca (patch) | |
tree | 0d06eb7663647344d99ac555d7388b17cb2e52a6 /gcc/c-parser.c | |
parent | 5f33b9722588dccaf5b5e99c0f7540ab7483fa2f (diff) | |
download | gcc-18406601136a40c875005c3f11563f657fc1f0ca.zip gcc-18406601136a40c875005c3f11563f657fc1f0ca.tar.gz gcc-18406601136a40c875005c3f11563f657fc1f0ca.tar.bz2 |
c-format.c (enum format_specifier_kind, [...]): New.
gcc:
2010-11-13 Paolo Bonzini <bonzini@gnu.org>
* c-format.c (enum format_specifier_kind, kind_descriptions): New.
(struct format_wanted_type): Replace field "name" with "kind", add
"format_start" and "format_length".
(check_format_info_main): Fill in new fields. Fill in
FORMAT_WANTED_TYPES even for missing arguments. Move checks
after the final NUL outside the while loop. Do not include
width and precision modifiers in the format_start/format_length
of the main format.
(check_format_types): Remove FORMAT_START and FORMAT_LENGTH
arguments. Compute WANTED_TYPE first so that format_type_warning
can be called for missing arguments. Adjust calls to
format_type_warning.
(format_type_warning): Fetch as much information as possible
from format_wanted_type. Adjust printing now that every
warning has a "descr", as well as for missing argument warnings
and to include % sign for format specifiers.
testsuite:
2010-11-13 Paolo Bonzini <bonzini@gnu.org>
* gcc.dg/format/few-1.c: New test.
* gcc.dg/format/asm_fprintf-1.c: Adjust.
* gcc.dg/format/c90-scanf-1.c: Adjust.
* gcc.dg/format/cmn-err-1.c: Adjust.
* gcc.dg/format/dfp-printf-1.c: Adjust.
* gcc.dg/format/dfp-scanf-1.c: Adjust.
* gcc.dg/format/gcc_diag-1.c: Adjust.
* gcc.dg/format/ms_unnamed-1.c: Adjust.
* gcc.dg/format/strfmon-1.c: Adjust.
* gcc.dg/format/unnamed-1.c: Adjust.
* gcc.dg/format/xopen-2.c: Adjust.
* g++.dg/ext/builtin4.C: Adjust.
* g++.dg/ext/builtin5.C: Adjust.
From-SVN: r166698
Diffstat (limited to 'gcc/c-parser.c')
0 files changed, 0 insertions, 0 deletions