Expand protobuf warning suppressions

Bug: 340578705
Change-Id: I77ad188457fce379fc042546eee9dd34b2795397
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/235516
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
diff --git a/src/tint/utils/macros/compiler.h b/src/tint/utils/macros/compiler.h
index 827d5e3..21682cb 100644
--- a/src/tint/utils/macros/compiler.h
+++ b/src/tint/utils/macros/compiler.h
@@ -91,6 +91,12 @@
 #define TINT_DISABLE_WARNING_CONSTANT_OVERFLOW        /* currently no-op */
 #define TINT_DISABLE_WARNING_DEPRECATED               /* currently no-op */
 #define TINT_DISABLE_WARNING_DESTRUCTOR_NEVER_RETURNS /* currently no-op */
+#define TINT_DISABLE_WARNING_COVERED_SWITCH_DEFAULT \
+    _Pragma("clang diagnostic ignored \"-Wcovered-switch-default\"")
+#define TINT_DISABLE_WARNING_DEPRECATED_REDUNDANT_CONSTEXPR_STATIC_DEF \
+    _Pragma("clang diagnostic ignored \"-Wdeprecated-redundant-constexpr-static-def\"")
+#define TINT_DISABLE_WARNING_DOUBLE_PROMOTION \
+    _Pragma("clang diagnostic ignored \"-Wdouble-promotion\"")
 #define TINT_DISABLE_WARNING_EXTRA_SEMICOLON \
     _Pragma("clang diagnostic ignored \"-Wextra-semi-stmt\"")
 #define TINT_DISABLE_WARNING_FLOAT_EQUAL _Pragma("clang diagnostic ignored \"-Wfloat-equal\"")
@@ -110,6 +116,8 @@
     _Pragma("clang diagnostic ignored \"-Wshadow-field-in-constructor\"")
 #define TINT_DISABLE_WARNING_SIGN_CONVERSION \
     _Pragma("clang diagnostic ignored \"-Wsign-conversion\"")
+#define TINT_DISABLE_WARNING_THREAD_SAFETY_NEGATIVE \
+    _Pragma("clang diagnostic ignored \"-Wthread-safety-negative\"")
 #define TINT_DISABLE_WARNING_UNDEFINED_REINTERPRET_CAST \
     _Pragma("clang diagnostic ignored \"-Wundefined-reinterpret-cast\"")
 #define TINT_DISABLE_WARNING_UNREACHABLE_CODE /* currently no-op */
@@ -123,20 +131,24 @@
     _Pragma("clang diagnostic ignored \"-Wzero-as-null-pointer-constant\"")
 
 // clang-format off
-#define TINT_BEGIN_DISABLE_PROTOBUF_WARNINGS()        \
-    _Pragma("clang diagnostic push")                  \
-    TINT_DISABLE_WARNING_EXTRA_SEMICOLON              \
-    TINT_DISABLE_WARNING_MAYBE_UNINITIALIZED          \
-    TINT_DISABLE_WARNING_MISSING_DESTRUCTOR_OVERRIDE  \
-    TINT_DISABLE_WARNING_RESERVED_IDENTIFIER          \
-    TINT_DISABLE_WARNING_RESERVED_MACRO_IDENTIFIER    \
-    TINT_DISABLE_WARNING_SHADOW_FIELD_IN_CONSTRUCTOR  \
-    TINT_DISABLE_WARNING_SIGN_CONVERSION              \
-    TINT_DISABLE_WARNING_UNDEFINED_REINTERPRET_CAST   \
-    TINT_DISABLE_WARNING_UNUSED_PARAMETER             \
-    TINT_DISABLE_WARNING_UNSAFE_BUFFER_USAGE          \
-    TINT_DISABLE_WARNING_WEAK_VTABLES                 \
-    TINT_DISABLE_WARNING_ZERO_AS_NULLPTR              \
+#define TINT_BEGIN_DISABLE_PROTOBUF_WARNINGS()                                 \
+    _Pragma("clang diagnostic push")                                           \
+    TINT_DISABLE_WARNING_COVERED_SWITCH_DEFAULT                                \
+    TINT_DISABLE_WARNING_DEPRECATED_REDUNDANT_CONSTEXPR_STATIC_DEF             \
+    TINT_DISABLE_WARNING_DOUBLE_PROMOTION                                      \
+    TINT_DISABLE_WARNING_EXTRA_SEMICOLON                                       \
+    TINT_DISABLE_WARNING_MAYBE_UNINITIALIZED                                   \
+    TINT_DISABLE_WARNING_MISSING_DESTRUCTOR_OVERRIDE                           \
+    TINT_DISABLE_WARNING_RESERVED_IDENTIFIER                                   \
+    TINT_DISABLE_WARNING_RESERVED_MACRO_IDENTIFIER                             \
+    TINT_DISABLE_WARNING_SHADOW_FIELD_IN_CONSTRUCTOR                           \
+    TINT_DISABLE_WARNING_SIGN_CONVERSION                                       \
+    TINT_DISABLE_WARNING_THREAD_SAFETY_NEGATIVE                                \
+    TINT_DISABLE_WARNING_UNDEFINED_REINTERPRET_CAST                            \
+    TINT_DISABLE_WARNING_UNUSED_PARAMETER                                      \
+    TINT_DISABLE_WARNING_UNSAFE_BUFFER_USAGE                                   \
+    TINT_DISABLE_WARNING_WEAK_VTABLES                                          \
+    TINT_DISABLE_WARNING_ZERO_AS_NULLPTR                                       \
     TINT_REQUIRE_SEMICOLON
 
 #define TINT_END_DISABLE_PROTOBUF_WARNINGS() \