diff options
author | Saar Raz <saar@raz.email> | 2019-10-17 00:16:01 +0000 |
---|---|---|
committer | Saar Raz <saar@raz.email> | 2019-10-17 00:16:01 +0000 |
commit | f57b0958e54edee6a15020c142aa39f48887de30 (patch) | |
tree | 8b6660a738e8cffcf00929488ab5cc8468fd9ee5 /test | |
parent | 5d56c7bcdfca9528235a5aabe0b7fc3f39d91c45 (diff) | |
download | clang-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.cpp | 16 |
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( |