1// RUN: %clang_cc1 -fsyntax-only -verify %s
2// RUN: %clang_cc1 -Wno-default-arg-special-member -Werror -fsyntax-only %s
3
4class foo {
5  foo(foo&, int); // expected-note {{was not a special member function}}
6  foo(int); // expected-note {{was not a special member function}}
7  foo(const foo&); // expected-note {{was a copy constructor}}
8};
9
10foo::foo(foo&, int = 0) { } // expected-warning {{makes this constructor a copy constructor}}
11foo::foo(int = 0) { } // expected-warning {{makes this constructor a default constructor}}
12foo::foo(const foo& = 0) { } //expected-warning {{makes this constructor a default constructor}}
13