Disable attribute macros that conflict with Flutter's current Windows build environment

Change-Id: Ifaf0f11c074929e169e73d65c3fa01a77e04244d
Reviewed-on: https://flutter-review.googlesource.com/c/third_party/abseil-cpp/+/32240
Reviewed-by: Loïc Sharma <loicsharma@google.com>
Reviewed-by: Jason Simmons <jsimmons@google.com>
diff --git a/absl/base/attributes.h b/absl/base/attributes.h
index e4e7a3d..58b6a7c 100644
--- a/absl/base/attributes.h
+++ b/absl/base/attributes.h
@@ -136,9 +136,12 @@
 // for further information.
 // The MinGW compiler doesn't complain about the weak attribute until the link
 // step, presumably because Windows doesn't use ELF binaries.
+//
+// Flutter: disable this on Windows due to linker errors seen in our current
+// Windows build environment.
 #if (ABSL_HAVE_ATTRIBUTE(weak) ||                                         \
      (defined(__GNUC__) && !defined(__clang__))) &&                       \
-    (!defined(_WIN32) || (defined(__clang__) && __clang_major__ >= 9)) && \
+    (!defined(_WIN32)) && \
     !defined(__MINGW32__)
 #undef ABSL_ATTRIBUTE_WEAK
 #define ABSL_ATTRIBUTE_WEAK __attribute__((weak))
@@ -708,9 +711,12 @@
 // just using the standard `constinit` keyword directly over this macro.
 //
 // Note that this attribute is redundant if the variable is declared constexpr.
+//
+// Flutter: disable this on Windows due to incompatibility with the version
+// of std::atomic that is currently used on LUCI.
 #if defined(__cpp_constinit) && __cpp_constinit >= 201907L
 #define ABSL_CONST_INIT constinit
-#elif ABSL_HAVE_CPP_ATTRIBUTE(clang::require_constant_initialization)
+#elif ABSL_HAVE_CPP_ATTRIBUTE(clang::require_constant_initialization) && !defined(_MSC_VER)
 #define ABSL_CONST_INIT [[clang::require_constant_initialization]]
 #else
 #define ABSL_CONST_INIT