]> granicus.if.org Git - clang/commit
Implement the consistency checking for C++ [temp.deduct.call]p3, which
authorDouglas Gregor <dgregor@apple.com>
Thu, 16 Jun 2011 16:50:48 +0000 (16:50 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 16 Jun 2011 16:50:48 +0000 (16:50 +0000)
commitdbfb371e297794e827ad2e5b33b45fafbfc46b29
tree669439d1e2c4854f33d228abf53bc15714983ec3
parentf7f8188fac71e34e09ee457ff6f039f5d14ad117
Implement the consistency checking for C++ [temp.deduct.call]p3, which
checks that the deduced argument type for a function call matches the
actual argument type provided. The only place we've found where the
consistency checking should actually cause template argument deduction
failure is due to qualifier differences that don't fall into the realm
of qualification conversions (which are *not* checked when we
initially perform deduction). However, we're performing the full
checking as specified in the standard to ensure that no other cases
exist.

Fixes PR9233 / <rdar://problem/9039590>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133163 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Sema/Sema.h
lib/Sema/SemaTemplateDeduction.cpp
test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p3.cpp