]> granicus.if.org Git - clang/commit
PR18275: If a member function of a class template is declared with a
authorRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 13 Mar 2014 00:28:45 +0000 (00:28 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 13 Mar 2014 00:28:45 +0000 (00:28 +0000)
commit3fb5afbb70da8cd74e697b1b2ed329b851f9ef20
treeca2c85e72ca9605935800f8991a0334ef945b18e
parentc05006fda51658dc0a2fd551aeceaf90605bfc41
PR18275: If a member function of a class template is declared with a
const-qualified parameter type and the defined with a non-const-qualified
parameter type, the parameter is not const inside its body. Ensure that
the type we use when instantiating the body is the right one. Patch by
suyog sarda!

This is still rather unsatisfactory; it seems like it might be better to
instantiate at least the function parameters, and maybe the complete function
declaration, when we instantiate the definition for such a member function
(instead of reusing the declaration from inside the instantiated class
definition).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203741 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaTemplateInstantiateDecl.cpp
test/SemaTemplate/dependent-type-identity.cpp