diff options
author | Evan Brown <ezb@google.com> | 2022-09-20 13:12:25 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2022-09-20 13:13:13 -0700 |
commit | d859fafe1ab9edc9c04ca262d9993be82c757881 (patch) | |
tree | 6794fb010d0f423ea6a8fb65176efb9231ad095d /absl/base/optimization_test.cc | |
parent | 800c04f64afa48271c6eaee67da489a7ebf92757 (diff) |
Change the macro ABSL_IS_TRIVIALLY_RELOCATABLE into a type trait - absl::is_trivially_relocatable - and move it from optimization.h to type_traits.h.
Example of how to change to the new type trait:
```
#include "absl/base/attributes.h"
if (ABSL_IS_TRIVIALLY_RELOCATABLE(T)) { DoSomething(); }
```
to
```
#include "absl/meta/type_traits.h"
if (absl::is_trivially_relocatable<T>::value) { DoSomething(); }
```
Note that optimization.h is also built in C mode so we can't put a type trait there.
PiperOrigin-RevId: 475633715
Change-Id: I2bc85f3f6711d1280049fd01eb97c497d2d0d929
Diffstat (limited to 'absl/base/optimization_test.cc')
-rw-r--r-- | absl/base/optimization_test.cc | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/absl/base/optimization_test.cc b/absl/base/optimization_test.cc index 5f7a8f4c..e83369f3 100644 --- a/absl/base/optimization_test.cc +++ b/absl/base/optimization_test.cc @@ -15,7 +15,6 @@ #include "absl/base/optimization.h" #include "gtest/gtest.h" -#include "absl/base/attributes.h" #include "absl/types/optional.h" namespace { @@ -127,22 +126,4 @@ TEST(PredictTest, ExplicitBoolConversion) { if (ABSL_PREDICT_FALSE(is_false)) ADD_FAILURE(); } -TEST(TrivallyRelocatable, Sanity) { -#if !defined(ABSL_HAVE_ATTRIBUTE_TRIVIAL_ABI) || \ - !ABSL_HAVE_BUILTIN(__is_trivially_relocatable) - GTEST_SKIP() << "No trivial ABI support."; -#endif - - struct Trivial {}; - struct NonTrivial { - NonTrivial(const NonTrivial&) {} - }; - struct ABSL_ATTRIBUTE_TRIVIAL_ABI TrivialAbi { - TrivialAbi(const TrivialAbi&) {} - }; - EXPECT_TRUE(ABSL_IS_TRIVIALLY_RELOCATABLE(Trivial)); - EXPECT_FALSE(ABSL_IS_TRIVIALLY_RELOCATABLE(NonTrivial)); - EXPECT_TRUE(ABSL_IS_TRIVIALLY_RELOCATABLE(TrivialAbi)); -} - } // namespace |