summaryrefslogtreecommitdiffstats
path: root/clang/test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
diff options
context:
space:
mode:
authorSaar Raz <saar@raz.email>2019-10-15 15:24:26 +0000
committerSaar Raz <saar@raz.email>2019-10-15 15:24:26 +0000
commit5d98ba6077dac656fbf023e9312d9c131d53144c (patch)
tree99153ade097830f469e5ff0a04fc37daeff3819a /clang/test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
parentd545c9056e00988d2d146f8f1440b2dd192f306b (diff)
downloadbcm5719-llvm-5d98ba6077dac656fbf023e9312d9c131d53144c.tar.gz
bcm5719-llvm-5d98ba6077dac656fbf023e9312d9c131d53144c.zip
[Concepts] Concept Specialization Expressions
Part of C++20 Concepts implementation effort. Added Concept Specialization Expressions that are created when a concept is refe$ D41217 on Phabricator. (recommit after fixing failing Parser test on windows) llvm-svn: 374903
Diffstat (limited to 'clang/test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/class-template-decl.cpp')
-rw-r--r--clang/test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/class-template-decl.cpp65
1 files changed, 0 insertions, 65 deletions
diff --git a/clang/test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/class-template-decl.cpp b/clang/test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
deleted file mode 100644
index d1ad0404ef4..00000000000
--- a/clang/test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// RUN: %clang_cc1 -std=c++14 -fconcepts-ts -x c++ -verify %s
-
-namespace nodiag {
-
-template <typename T> requires bool(T())
-struct A;
-template <typename U> requires bool(U())
-struct A;
-
-} // end namespace nodiag
-
-namespace diag {
-
-template <typename T> requires true // expected-note{{previous template declaration is here}}
-struct A;
-template <typename T> struct A; // expected-error{{associated constraints differ in template redeclaration}}
-
-template <typename T> struct B; // expected-note{{previous template declaration is here}}
-template <typename T> requires true // expected-error{{associated constraints differ in template redeclaration}}
-struct B;
-
-template <typename T> requires true // expected-note{{previous template declaration is here}}
-struct C;
-template <typename T> requires !0 // expected-error{{associated constraints differ in template redeclaration}}
-struct C;
-
-} // end namespace diag
-
-namespace nodiag {
-
-struct AA {
- template <typename T> requires someFunc(T())
- struct A;
-};
-
-template <typename T> requires someFunc(T())
-struct AA::A { };
-
-struct AAF {
- template <typename T> requires someFunc(T())
- friend struct AA::A;
-};
-
-} // end namespace nodiag
-
-namespace diag {
-
-template <unsigned N>
-struct TA {
- template <template <unsigned> class TT> requires TT<N>::happy // expected-note 2{{previous template declaration is here}}
- struct A;
-
- struct AF;
-};
-
-template <unsigned N>
-template <template <unsigned> class TT> struct TA<N>::A { }; // expected-error{{associated constraints differ in template redeclaration}}
-
-template <unsigned N>
-struct TA<N>::AF {
- template <template <unsigned> class TT> requires TT<N + 0>::happy // expected-error{{associated constraints differ in template redeclaration}}
- friend struct TA::A;
-};
-
-} // end namespace diag
OpenPOWER on IntegriCloud