| // RUN: %clang_cc1 -fsyntax-only -verify %s | |
| void f(...) { | |
| // FIXME: There's no disambiguation here; this is unambiguous. | |
| int g(int(...)); // expected-warning {{disambiguated}} expected-note {{paren}} | |
| } | |
| void h(int n..., int m); // expected-error {{expected ')'}} expected-note {{to match}} | |
| namespace GH153445 { | |
| void f(int = {}...); | |
| struct S { | |
| void f(int = {}...); | |
| void g(int...); | |
| }; | |
| void S::g(int = {}...) {} | |
| } | |
| template <typename ...T> | |
| constexpr int a() {return 1;} | |
| struct S2 { | |
| template <typename ...Ts> | |
| void f(int = a<Ts...>()...); | |
| }; |