c-format.c
106 KB
-
c-format.c (enum format_specifier_kind, [...]): New. · 18406601
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
Paolo Bonzini committed