summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSaar Raz <saar@raz.email>2019-10-17 00:16:01 +0000
committerSaar Raz <saar@raz.email>2019-10-17 00:16:01 +0000
commitf57b0958e54edee6a15020c142aa39f48887de30 (patch)
tree8b6660a738e8cffcf00929488ab5cc8468fd9ee5 /test
parent5d56c7bcdfca9528235a5aabe0b7fc3f39d91c45 (diff)
downloadclang-f57b0958e54edee6a15020c142aa39f48887de30.tar.gz
[Concepts] ConceptSpecializationExprs mangling
Implement mangling for CSEs to match regular template-ids. Reviewed as part of D41569 <https://reviews.llvm.org/D41569>. Re-commit fixing failing test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@375063 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGenCXX/mangle-concept.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/CodeGenCXX/mangle-concept.cpp b/test/CodeGenCXX/mangle-concept.cpp
new file mode 100644
index 0000000000..7e9fb1b15e
--- /dev/null
+++ b/test/CodeGenCXX/mangle-concept.cpp
@@ -0,0 +1,16 @@
+// RUN: %clang_cc1 -verify -Wno-return-type -Wno-main -std=c++2a -fconcepts-ts -emit-llvm -triple %itanium_abi_triple -o - %s | FileCheck %s
+// expected-no-diagnostics
+
+namespace test1 {
+template <bool> struct S {};
+template <typename> concept C = true;
+template <typename T = int> S<C<T>> f0() { return S<C<T>>{}; }
+template S<C<int>> f0<>();
+// CHECK: @_ZN5test12f0IiEENS_1SIXL_ZNS_1CIT_EEEEEEv(
+}
+
+template <bool> struct S {};
+template <typename> concept C = true;
+template <typename T = int> S<C<T>> f0() { return S<C<T>>{}; }
+template S<C<int>> f0<>();
+// CHECK: @_Z2f0IiE1SIXL_Z1CIT_EEEEv(