summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-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
-rw-r--r--clang/test/SemaTemplate/rdar9173693.cpp4
4 files changed, 4 insertions, 20 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}}
diff --git a/clang/test/SemaTemplate/rdar9173693.cpp b/clang/test/SemaTemplate/rdar9173693.cpp
index 1e999cba670..86b49545a30 100644
--- a/clang/test/SemaTemplate/rdar9173693.cpp
+++ b/clang/test/SemaTemplate/rdar9173693.cpp
@@ -2,5 +2,5 @@
// <rdar://problem/9173693>
template< bool C > struct assert { };
-template< bool > struct assert_arg_pred_impl { }; // expected-note 2 {{declared here}}
-template< typename Pred > assert<false> assert_not_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type ); // expected-error 3 {{}}
+template< bool > struct assert_arg_pred_impl { }; // expected-note 3 {{declared here}}
+template< typename Pred > assert<false> assert_not_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type ); // expected-error 5 {{}}
OpenPOWER on IntegriCloud