blob: 6b9f4a882d5872fb57c5c613e6fa396f96655151 [file]
Allow code deprecated with ABSL_DEPRECATED_AND_INLINE to be used in chromium,
This extends transition time from deprecated api to new one.
That is particulary helpful when symbols are deprecated in abseil, and various third party
code first need to be updated to work with new version of abseil, then the new version
of such library need to be rolled into chromium.
---
diff --git a/third_party/abseil-cpp/absl/base/macros.h b/third_party/abseil-cpp/absl/base/macros.h
index 392b7b8f7a526..7c9594bf26121 100644
--- a/third_party/abseil-cpp/absl/base/macros.h
+++ b/third_party/abseil-cpp/absl/base/macros.h
@@ -230,7 +230,10 @@ ABSL_NAMESPACE_END
// `ABSL_REFACTOR_INLINE` is preferred because it provides a more informative
// deprecation message to developers, especially those that do not have access
// to the automated refactoring capabilities of go/cpp-inliner.
-#define ABSL_DEPRECATE_AND_INLINE() [[deprecated]] ABSL_REFACTOR_INLINE
+// In chromium this macro doesn't add [[deprecated]] attribute as chromium disallows to
+// use deprecated code. By removing this attribute other third party libraries get more
+// time to migrate from deprecated api to something newer.
+#define ABSL_DEPRECATE_AND_INLINE() ABSL_REFACTOR_INLINE
// Requires the compiler to prove that the size of the given object is at least
// the expected amount.