pretty-print.h (ATTRIBUTE_GCC_PPDIAG): Use GCC_DIAG_STYLE if set.
authorJason Merrill <jason@redhat.com>
Tue, 7 Jun 2011 21:52:46 +0000 (17:52 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 7 Jun 2011 21:52:46 +0000 (17:52 -0400)
gcc/
* pretty-print.h (ATTRIBUTE_GCC_PPDIAG): Use GCC_DIAG_STYLE if set.
gcc/c-family/
* c-format.c (gcc_cxxdiag_char_table): Add 'S' format.

From-SVN: r174770

gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c-format.c
gcc/pretty-print.h

index 98bda5ce8730b58912c64a0b87dd621bbae96991..6c1a5c2038c5fe34320447f40a8c2076573ec4f6 100644 (file)
@@ -1,3 +1,7 @@
+2011-06-07  Jason Merrill  <jason@redhat.com>
+
+       * pretty-print.h (ATTRIBUTE_GCC_PPDIAG): Use GCC_DIAG_STYLE if set.
+
 2011-06-07  Xinliang David Li  <davidxl@google.com>
        * passes.c (enable_disable_pass): Handle assembler name.
        (is_pass_explicitly_enabled_or_disabled): Ditto.
index 1c5f9d3e00153562d111c8dd833d823bfb2d5e3b..0e71e376d5e037c0f4133ce7b2f7645205dfb8a4 100644 (file)
@@ -1,3 +1,7 @@
+2011-06-07  Jason Merrill  <jason@redhat.com>
+
+       * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
+
 2011-06-07  Richard Guenther  <rguenther@suse.de>
 
        * c-common.c (c_common_nodes_and_builtins): Do not set
index 66012c4a88eb60f8526448139f56e81c6cfbf628..9fabc399565ac15fb2bb413f4424d4d9c9484e4a 100644 (file)
@@ -740,7 +740,7 @@ static const format_char_info gcc_cxxdiag_char_table[] =
   /* Custom conversion specifiers.  */
 
   /* These will require a "tree" at runtime.  */
-  { "ADEFKTV",0,STD_C89,{ T89_V,   BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN  }, "q+#",   "",   NULL },
+  { "ADEFKSTV",0,STD_C89,{ T89_V,   BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN  }, "q+#",   "",   NULL },
 
   { "v", 0,STD_C89, { T89_I,   BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN  }, "q#",  "",   NULL },
 
index 3b6d18e9254f63a94505ebaffef3e83cd9bbaa96..ae1dadfe4a632c04d384d5645a6b159f9e05b5f1 100644 (file)
@@ -303,10 +303,18 @@ extern const char *pp_base_last_position_in_text (const pretty_printer *);
 extern void pp_base_emit_prefix (pretty_printer *);
 extern void pp_base_append_text (pretty_printer *, const char *, const char *);
 
+/* If we haven't already defined a front-end-specific diagnostics
+   style, use the generic one.  */
+#ifdef GCC_DIAG_STYLE
+#define GCC_PPDIAG_STYLE GCC_DIAG_STYLE
+#else
+#define GCC_PPDIAG_STYLE __gcc_diag__
+#endif
+
 /* This header may be included before diagnostics-core.h, hence the duplicate
    definitions to allow for GCC-specific formats.  */
 #if GCC_VERSION >= 3005
-#define ATTRIBUTE_GCC_PPDIAG(m, n) __attribute__ ((__format__ (__gcc_diag__, m ,n))) ATTRIBUTE_NONNULL(m)
+#define ATTRIBUTE_GCC_PPDIAG(m, n) __attribute__ ((__format__ (GCC_PPDIAG_STYLE, m ,n))) ATTRIBUTE_NONNULL(m)
 #else
 #define ATTRIBUTE_GCC_PPDIAG(m, n) ATTRIBUTE_NONNULL(m)
 #endif