[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