diff options
Diffstat (limited to 'clang/test/SemaCXX/copy-constructor-error.cpp')
-rw-r--r-- | clang/test/SemaCXX/copy-constructor-error.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/copy-constructor-error.cpp b/clang/test/SemaCXX/copy-constructor-error.cpp new file mode 100644 index 0000000..64a7d58 --- /dev/null +++ b/clang/test/SemaCXX/copy-constructor-error.cpp @@ -0,0 +1,25 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +struct S { + S (S); // expected-error {{copy constructor must pass its first argument by reference}} +}; + +S f(); + +void g() { + S a( f() ); +} + +namespace PR6064 { + struct A { + A() { } + inline A(A&, int); // expected-note {{was not a special member function}} + }; + + A::A(A&, int = 0) { } // expected-warning {{makes this constructor a copy constructor}} + + void f() { + A const a; + A b(a); + } +} |