diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-04-05 00:34:54 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-04-05 00:34:54 +0000 |
| commit | ae06c84ee2d866bd78e8d7c987bb57966940e33a (patch) | |
| tree | fb58cf69b27dced7a941296a26bc97b25f796276 /clang/test | |
| parent | d6f7313c8f55d84f76284c20b3744f744e25797f (diff) | |
| download | bcm5719-llvm-ae06c84ee2d866bd78e8d7c987bb57966940e33a.tar.gz bcm5719-llvm-ae06c84ee2d866bd78e8d7c987bb57966940e33a.zip | |
Revert r328680 ("[ObjC] Make C++ triviality type traits available to non-trivial C structs.")
It unintentionally caused the values of the __has_* type traits to change in
C++ for trivially-copyable classes with volatile members.
llvm-svn: 329247
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/SemaObjC/non-trivial-struct-traits.m | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/clang/test/SemaObjC/non-trivial-struct-traits.m b/clang/test/SemaObjC/non-trivial-struct-traits.m deleted file mode 100644 index db918d8e433..00000000000 --- a/clang/test/SemaObjC/non-trivial-struct-traits.m +++ /dev/null @@ -1,25 +0,0 @@ -// RUN: %clang_cc1 -fsyntax-only -fobjc-arc -verify %s - -// expected-no-diagnostics - -struct Trivial { - int x; -}; - -struct NonTrivial { - id x; -}; - -int trivial_assign[__has_trivial_assign(struct Trivial) ? 1 : -1]; -int trivial_move_assign[__has_trivial_move_assign(struct Trivial) ? 1 : -1]; -int trivial_copy_constructor[__has_trivial_copy(struct Trivial) ? 1 : -1]; -int trivial_move_constructor[__has_trivial_move_constructor(struct Trivial) ? 1 : -1]; -int trivial_constructor[__has_trivial_constructor(struct Trivial) ? 1 : -1]; -int trivial_destructor[__has_trivial_destructor(struct Trivial) ? 1 : -1]; - -int non_trivial_assign[__has_trivial_assign(struct NonTrivial) ? -1 : 1]; -int non_trivial_move_assign[__has_trivial_move_assign(struct NonTrivial) ? -1 : 1]; -int non_trivial_copy_constructor[__has_trivial_copy(struct NonTrivial) ? -1 : 1]; -int non_trivial_move_constructor[__has_trivial_move_constructor(struct NonTrivial) ? -1 : 1]; -int non_trivial_constructor[__has_trivial_constructor(struct NonTrivial) ? -1 : 1]; -int non_trivial_destructor[__has_trivial_destructor(struct NonTrivial) ? -1 : 1]; |

