aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-format.c
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2008-10-13 10:32:07 +0000
committerKai Tietz <ktietz@gcc.gnu.org>2008-10-13 12:32:07 +0200
commit945648261c44e52fb0a02ee9233382248edf9896 (patch)
tree6b5e20bdfb092f077651b8c498e3001d78912b1e /gcc/c-format.c
parent36c713e04cb642a9bfbf4ddbad9ef7024dd6f05a (diff)
downloadgcc-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.c6
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. */