diff options
Diffstat (limited to 'clang/test/Parser')
-rw-r--r-- | clang/test/Parser/cxx-ambig-init-templ.cpp | 9 | ||||
-rw-r--r-- | clang/test/Parser/cxx-variadic-func.cpp | 3 | ||||
-rw-r--r-- | clang/test/Parser/recovery.cpp | 8 |
3 files changed, 2 insertions, 18 deletions
diff --git a/clang/test/Parser/cxx-ambig-init-templ.cpp b/clang/test/Parser/cxx-ambig-init-templ.cpp index 584262c9be4..1f692664137 100644 --- a/clang/test/Parser/cxx-ambig-init-templ.cpp +++ b/clang/test/Parser/cxx-ambig-init-templ.cpp @@ -170,15 +170,6 @@ namespace ElaboratedTypeSpecifiers { }; } -namespace AbstractPtrOperatorDeclarator { - template <int, typename> struct X { - operator int(); - }; - struct Y { - void f(int a = X<0, int (*)()>()); - }; -} - namespace PR20459 { template <typename EncTraits> struct A { void foo(int = EncTraits::template TypeEnc<int, int>::val); // ok diff --git a/clang/test/Parser/cxx-variadic-func.cpp b/clang/test/Parser/cxx-variadic-func.cpp index c0fad95e468..98a34d3e1bf 100644 --- a/clang/test/Parser/cxx-variadic-func.cpp +++ b/clang/test/Parser/cxx-variadic-func.cpp @@ -1,7 +1,8 @@ // RUN: %clang_cc1 -fsyntax-only -verify %s void f(...) { - int g(int(...)); // no warning, unambiguously a function declaration + // 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}} diff --git a/clang/test/Parser/recovery.cpp b/clang/test/Parser/recovery.cpp index f099473e04b..2d5b518c691 100644 --- a/clang/test/Parser/recovery.cpp +++ b/clang/test/Parser/recovery.cpp @@ -203,14 +203,6 @@ namespace pr15133 { }; } -namespace AbstractPtrOperator { - // A ptr-operator and no name means we have a declaration and not an - // expression. - template<typename T> int f(int*, T::type); // expected-error {{missing 'typename'}} - template<typename T> int f(int (T::*), T::type); // expected-error {{missing 'typename'}} - template<typename T> int f(int (*)(), T::type); // expected-error {{missing 'typename'}} -} - namespace InvalidEmptyNames { // These shouldn't crash, the diagnostics aren't important. struct ::, struct ::; // expected-error 2 {{expected identifier}} expected-error 2 {{declaration of anonymous struct must be a definition}} expected-warning {{declaration does not declare anything}} |