https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106741

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
/* 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_PPDIAG_STYLE, m ,n))) ATTRIBUTE_NONNULL(m)
#else
#define ATTRIBUTE_GCC_PPDIAG(m, n) ATTRIBUTE_NONNULL(m)
#endif
extern void pp_printf (pretty_printer *, const char *, ...)
     ATTRIBUTE_GCC_PPDIAG(2,3);


%qE support was added for GCC 8, with r8-499-631238ac3f50 .
So if you are compiling with GCC 7 (or before), the first stage will warn about
an unknown conversion type character ā€˜E’ but the 2nd and 3rd stages won't.

Reply via email to