[tint] Fix TINT_BEGIN_DISABLE_ALL_WARNINGS for GCC
GCC doesn't handle pragmas for disabling all warnings at once, so we
have to disable them individually.
Change-Id: Id3fef4b7b4f2fdffa7495633b31106c4489d6b4a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/187200
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
diff --git a/src/tint/utils/macros/compiler.h b/src/tint/utils/macros/compiler.h
index ff60f3f0..a62a59e 100644
--- a/src/tint/utils/macros/compiler.h
+++ b/src/tint/utils/macros/compiler.h
@@ -185,9 +185,28 @@
_Pragma("GCC diagnostic push") TINT_DISABLE_WARNING_UNUSED_PARAMETER TINT_REQUIRE_SEMICOLON
#define TINT_END_DISABLE_PROTOBUF_WARNINGS() _Pragma("GCC diagnostic pop") TINT_REQUIRE_SEMICOLON
-#define TINT_BEGIN_DISABLE_ALL_WARNINGS() \
- _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wall\"") \
- _Pragma("GCC diagnostic ignored \"-Wextra\"") TINT_REQUIRE_SEMICOLON
+// clang-format off
+#define TINT_BEGIN_DISABLE_ALL_WARNINGS() \
+ _Pragma("GCC diagnostic push") \
+ TINT_DISABLE_WARNING_CONSTANT_OVERFLOW \
+ TINT_DISABLE_WARNING_MAYBE_UNINITIALIZED \
+ TINT_DISABLE_WARNING_NEWLINE_EOF \
+ TINT_DISABLE_WARNING_OLD_STYLE_CAST \
+ TINT_DISABLE_WARNING_SIGN_CONVERSION \
+ TINT_DISABLE_WARNING_UNREACHABLE_CODE \
+ TINT_DISABLE_WARNING_WEAK_VTABLES \
+ TINT_DISABLE_WARNING_FLOAT_EQUAL \
+ TINT_DISABLE_WARNING_DEPRECATED \
+ TINT_DISABLE_WARNING_RESERVED_IDENTIFIER \
+ TINT_DISABLE_WARNING_RESERVED_MACRO_IDENTIFIER \
+ TINT_DISABLE_WARNING_UNUSED_VALUE \
+ TINT_DISABLE_WARNING_UNUSED_PARAMETER \
+ TINT_DISABLE_WARNING_SHADOW_FIELD_IN_CONSTRUCTOR \
+ TINT_DISABLE_WARNING_EXTRA_SEMICOLON \
+ TINT_DISABLE_WARNING_ZERO_AS_NULLPTR \
+ TINT_DISABLE_WARNING_MISSING_DESTRUCTOR_OVERRIDE \
+ TINT_REQUIRE_SEMICOLON
+// clang-format on
#define TINT_END_DISABLE_ALL_WARNINGS() _Pragma("GCC diagnostic pop") TINT_REQUIRE_SEMICOLON