19ae60d54e4454192384933f3020968ea5c8c3540Sean Hunt// RUN: %clang_cc1 -fsyntax-only -verify %s 20a62984eab0ab25ed0d0d974e6753a75447e404eSean Hunt// RUN: %clang_cc1 -Wno-default-arg-special-member -Werror -fsyntax-only %s 39ae60d54e4454192384933f3020968ea5c8c3540Sean Hunt 49ae60d54e4454192384933f3020968ea5c8c3540Sean Huntclass foo { 59ae60d54e4454192384933f3020968ea5c8c3540Sean Hunt foo(foo&, int); // expected-note {{was not a special member function}} 69ae60d54e4454192384933f3020968ea5c8c3540Sean Hunt foo(int); // expected-note {{was not a special member function}} 79ae60d54e4454192384933f3020968ea5c8c3540Sean Hunt foo(const foo&); // expected-note {{was a copy constructor}} 89ae60d54e4454192384933f3020968ea5c8c3540Sean Hunt}; 99ae60d54e4454192384933f3020968ea5c8c3540Sean Hunt 109ae60d54e4454192384933f3020968ea5c8c3540Sean Huntfoo::foo(foo&, int = 0) { } // expected-warning {{makes this constructor a copy constructor}} 119ae60d54e4454192384933f3020968ea5c8c3540Sean Huntfoo::foo(int = 0) { } // expected-warning {{makes this constructor a default constructor}} 129ae60d54e4454192384933f3020968ea5c8c3540Sean Huntfoo::foo(const foo& = 0) { } //expected-warning {{makes this constructor a default constructor}} 13