aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/eh-aggregate-copy-destroy.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2019-06-26 21:59:19 +0000
committerReid Kleckner <rnk@google.com>2019-06-26 21:59:19 +0000
commita1b586bdd45faa8a1fb370d6a30472f6cbe08e05 (patch)
treed6483422a0f310c1d0ea40aad9c52426d6b3f741 /test/CodeGenCXX/eh-aggregate-copy-destroy.cpp
parent31d20fc4621b3a285a4bf3054e3f5497f59b299c (diff)
Merging r359809:
------------------------------------------------------------------------ r359809 | rnk | 2019-05-02 10:45:54 -0700 (Thu, 02 May 2019) | 27 lines Use primary template parameter names for variable template debug info Summary: Fixes PR41677 Consider: template <typename LHS, typename RHS> constexpr bool is_same_v = false; template <typename T> constexpr bool is_same_v<T, T> = true; template constexpr bool is_same_v<int, int>; Before this change, when emitting debug info for the `is_same_v<int, int>` global variable, clang would crash because it would try to use the template parameter list from the partial specialization to give parameter names to template arguments. This doesn't work in general, since a partial specialization can have fewer arguments than the primary template. Therefore, always use the primary template. Hypothetically we could try to use the parameter names from the partial specialization when possible, but it's not clear this really helps debugging in practice. Reviewers: JDevlieghere, aprantl, ormris, dblaikie Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61408 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_80@364483 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/eh-aggregate-copy-destroy.cpp')
0 files changed, 0 insertions, 0 deletions