diff options
author | Kai Tietz <kai.tietz@onevision.com> | 2008-10-13 10:32:07 +0000 |
---|---|---|
committer | Kai Tietz <ktietz@gcc.gnu.org> | 2008-10-13 12:32:07 +0200 |
commit | 945648261c44e52fb0a02ee9233382248edf9896 (patch) | |
tree | 6b5e20bdfb092f077651b8c498e3001d78912b1e /gcc/c-format.c | |
parent | 36c713e04cb642a9bfbf4ddbad9ef7024dd6f05a (diff) | |
download | gcc-945648261c44e52fb0a02ee9233382248edf9896.zip gcc-945648261c44e52fb0a02ee9233382248edf9896.tar.gz gcc-945648261c44e52fb0a02ee9233382248edf9896.tar.bz2 |
Fix PR/25502
2008-10-13 Kai Tietz <kai.tietz@onevision.com>
Fix PR/25502
* c-format.c (convert_format_name_to_system_name): Use
TARGET_OVERRIDES_FORMAT_INIT.
* config.gcc (extra_options): Add for mingw targets mingw.opt.
* config/i386/mingw.opt: New.
* config/i386/mingw32.h (TARGET_OVERRIDES_FORMAT_INIT): New.
* config/i386/msformat-c.c (TARGET_OVERRIDES_FORMAT_INIT): New.
(ms_printf_length_specs): Removed const specifier.
* doc/tm.texi (TARGET_OVERRIDES_FORMAT_INIT): New.
* doc/invoke.texi (Wno-pedantic-ms-format): New.
* testsuite/gcc.dg/format/ms-format1.c: New.
From-SVN: r141087
Diffstat (limited to 'gcc/c-format.c')
-rw-r--r-- | gcc/c-format.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/c-format.c b/gcc/c-format.c index fa28763..2f1370e 100644 --- a/gcc/c-format.c +++ b/gcc/c-format.c @@ -2714,6 +2714,9 @@ extern const format_kind_info TARGET_FORMAT_TYPES[]; #ifdef TARGET_OVERRIDES_FORMAT_ATTRIBUTES extern const target_ovr_attr TARGET_OVERRIDES_FORMAT_ATTRIBUTES[]; #endif +#ifdef TARGET_OVERRIDES_FORMAT_INIT + extern void TARGET_OVERRIDES_FORMAT_INIT (void); +#endif /* Attributes such as "printf" are equivalent to those such as "gnu_printf" unless this is overridden by a target. */ @@ -2738,6 +2741,9 @@ convert_format_name_to_system_name (const char *attr_name) if (attr_name == NULL || *attr_name == 0 || strncmp (attr_name, "gcc_", 4) == 0) return attr_name; +#ifdef TARGET_OVERRIDES_FORMAT_INIT + TARGET_OVERRIDES_FORMAT_INIT (); +#endif #ifdef TARGET_OVERRIDES_FORMAT_ATTRIBUTES /* Check if format attribute is overridden by target. */ |