]> granicus.if.org Git - clang/commit
[Sema] Use a TreeTransform to extract deduction guide parameter types
authorErik Pilkington <erik.pilkington@gmail.com>
Fri, 27 Jul 2018 21:23:48 +0000 (21:23 +0000)
committerErik Pilkington <erik.pilkington@gmail.com>
Fri, 27 Jul 2018 21:23:48 +0000 (21:23 +0000)
commit66f2c636c465bc9be68ba58db395b7075d52574a
tree35eff58e335135c9102ca3ff8834a9460b1cb1f5
parente88e9fc64db66b8dfbd3a83bc4ef94a9a2220671
[Sema] Use a TreeTransform to extract deduction guide parameter types

Previously, we just canonicalized the type, but this lead to crashes with
parameter types that referred to ParmVarDecls of the constructor. There may be
more cases that this TreeTransform needs to handle though, such as a constructor
parameter type referring to a member in an unevaluated context. Canonicalization
doesn't address these cases either though, so we can address them as-needed in
follow-up commits.

rdar://41330135

Differential revision: https://reviews.llvm.org/D49439

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@338165 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaTemplate.cpp
test/SemaCXX/cxx1z-class-template-argument-deduction.cpp