summaryrefslogtreecommitdiffstats
path: root/clang/test/Parser
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Parser')
-rw-r--r--clang/test/Parser/cxx-ambig-init-templ.cpp9
-rw-r--r--clang/test/Parser/cxx-variadic-func.cpp3
-rw-r--r--clang/test/Parser/recovery.cpp8
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}}
OpenPOWER on IntegriCloud