forked from OSchip/llvm-project
32 lines
1021 B
C++
32 lines
1021 B
C++
// RUN: %clang_cc1 -fsyntax-only -std=c++11 %s -verify
|
|
|
|
class NonCopyable {
|
|
NonCopyable(const NonCopyable&); // expected-note 2 {{implicitly declared private here}}
|
|
};
|
|
|
|
void capture_by_copy(NonCopyable nc, NonCopyable &ncr) {
|
|
// FIXME: error messages should talk about capture
|
|
(void)[nc] { }; // expected-error{{field of type 'NonCopyable' has private copy constructor}} \
|
|
// expected-error{{lambda expressions are not supported yet}}
|
|
(void)[ncr] { }; // expected-error{{field of type 'NonCopyable' has private copy constructor}} \
|
|
// expected-error{{lambda expressions are not supported yet}}
|
|
}
|
|
|
|
struct NonTrivial {
|
|
NonTrivial();
|
|
NonTrivial(const NonTrivial &);
|
|
~NonTrivial();
|
|
};
|
|
|
|
struct CopyCtorDefault {
|
|
CopyCtorDefault(const CopyCtorDefault&, NonTrivial nt = NonTrivial());
|
|
|
|
void foo() const;
|
|
};
|
|
|
|
void capture_with_default_args(CopyCtorDefault cct) {
|
|
(void)[=] () -> void { cct.foo(); }; // expected-error{{lambda expressions are not supported yet}}
|
|
}
|
|
|
|
// FIXME: arrays!
|