summaryrefslogtreecommitdiff
path: root/clang/test/SemaCXX/copy-constructor-error.cpp
blob: 64a7d58e19ef799285586debffeed28671aafe3c (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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);
  }
}