blob: db918d8e433264260ff4a71b7c316cc6f682da76 [file] [log] [blame]
// 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];