Daniel Dunbar | a572887 | 2009-12-15 20:14:24 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -fsyntax-only -verify %s |
Fariborz Jahanian | 52ab92b | 2009-08-06 17:22:51 +0000 | [diff] [blame] | 2 | |
Douglas Gregor | 90f9382 | 2009-12-22 22:17:25 +0000 | [diff] [blame] | 3 | struct S { |
4 | S (S); // expected-error {{copy constructor must pass its first argument by reference}} | ||||
Fariborz Jahanian | 52ab92b | 2009-08-06 17:22:51 +0000 | [diff] [blame] | 5 | }; |
6 | |||||
7 | S f(); | ||||
8 | |||||
9 | void g() { | ||||
Douglas Gregor | 90f9382 | 2009-12-22 22:17:25 +0000 | [diff] [blame] | 10 | S a( f() ); |
Fariborz Jahanian | 52ab92b | 2009-08-06 17:22:51 +0000 | [diff] [blame] | 11 | } |
Douglas Gregor | fd47648 | 2009-11-13 23:59:09 +0000 | [diff] [blame] | 12 | |
Douglas Gregor | 2366cd5 | 2010-03-02 18:48:07 +0000 | [diff] [blame] | 13 | namespace PR6064 { |
14 | struct A { | ||||
15 | A() { } | ||||
16 | inline A(A&, int); | ||||
17 | }; | ||||
18 | |||||
19 | A::A(A&, int = 0) { } | ||||
20 | |||||
21 | void f() { | ||||
22 | A const a; | ||||
23 | A b(a); | ||||
24 | } | ||||
25 | } |