Fix Werror=format-diag with --disable-nls.
authorMartin Liska <mliska@suse.cz>
Thu, 20 Jan 2022 08:30:01 +0000 (09:30 +0100)
committerMartin Liska <mliska@suse.cz>
Thu, 20 Jan 2022 11:03:06 +0000 (12:03 +0100)
PR c++/104134

gcc/cp/ChangeLog:

* error.cc (dump_aggr_type): Partially disable the warning.

gcc/cp/error.cc

index 1ab0c25..e76842e 100644 (file)
@@ -768,6 +768,14 @@ class_key_or_enum_as_string (tree t)
     return "struct";
 }
 
+/* Disable warnings about missing quoting in GCC diagnostics for
+   the pp_verbatim call.  Their format strings deliberately don't
+   follow GCC diagnostic conventions.  */
+#if __GNUC__ >= 10
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-diag"
+#endif
+
 /* Print out a class declaration T under the control of FLAGS,
    in the form `class foo'.  */
 
@@ -851,6 +859,10 @@ dump_aggr_type (cxx_pretty_printer *pp, tree t, int flags)
                         flags & ~TFF_TEMPLATE_HEADER);
 }
 
+#if __GNUC__ >= 10
+#pragma GCC diagnostic pop
+#endif
+
 /* Dump into the obstack the initial part of the output for a given type.
    This is necessary when dealing with things like functions returning
    functions.  Examples:
@@ -3618,8 +3630,8 @@ function_category (tree fn)
    the pp_verbatim calls.  Their format strings deliberately don't
    follow GCC diagnostic conventions.  */
 #if __GNUC__ >= 10
-#  pragma GCC diagnostic push
-#  pragma GCC diagnostic ignored "-Wformat-diag"
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-diag"
 #endif
 
 /* Report the full context of a current template instantiation,
@@ -4230,7 +4242,7 @@ add_quotes (const char *content, bool show_color)
 }
 
 #if __GNUC__ >= 10
-#  pragma GCC diagnostic pop
+#pragma GCC diagnostic pop
 #endif
 
 /* If we had %H and %I, and hence deferred printing them,