1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -fsyntax-only -verify %s 2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoclass C { 4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaopublic: 5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao void f(int i = 3); // expected-note{{here}} 6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao void g(int i, int j = 99); 7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}; 8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid C::f(int i = 3) { } // expected-error{{redefinition of default argument}} 10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid C::g(int i = 88, int j) { } 12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid test_C(C c) { 14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao c.f(); 15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao c.g(); 16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotemplate<typename T> 19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct X0 { 20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao void f(int); 21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 22ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao struct Inner { 23ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao void g(int); 24ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao }; 25ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}; 26ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 27ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// DR217 28ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotemplate<typename T> 29ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid X0<T>::f(int = 17) { } // expected-error{{cannot be added}} 30ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 31ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// DR217 + DR205 (reading tea leaves) 32ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotemplate<typename T> 33ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid X0<T>::Inner::g(int = 17) { } // expected-error{{cannot be added}} 34