diff options
| author | Saar Raz <saar@raz.email> | 2019-10-15 15:24:26 +0000 |
|---|---|---|
| committer | Saar Raz <saar@raz.email> | 2019-10-15 15:24:26 +0000 |
| commit | 5d98ba6077dac656fbf023e9312d9c131d53144c (patch) | |
| tree | 99153ade097830f469e5ff0a04fc37daeff3819a /clang/test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/class-template-decl.cpp | |
| parent | d545c9056e00988d2d146f8f1440b2dd192f306b (diff) | |
| download | bcm5719-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.cpp | 65 |
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 |

