]> granicus.if.org Git - clang/commit
When computing the template arguments for the instantiation of a
authorDouglas Gregor <dgregor@apple.com>
Mon, 3 May 2010 23:29:10 +0000 (23:29 +0000)
committerDouglas Gregor <dgregor@apple.com>
Mon, 3 May 2010 23:29:10 +0000 (23:29 +0000)
commite7089b0c6ffe8a8854150b60df00fb544099f77d
treef51d0c35452907ef9012e8f47b65121157bbdd1d
parente65ce966b6865b686b0a9ba4fc72dfadf3e83701
When computing the template arguments for the instantiation of a
friend function template, be sure to adjust the computed template
argument lists based on the location of the definition of the function
template: it's possible that the definition we're instantiating with
and the template declaration that we found when creating the
specialization are in different contexts, which meant that we would
end up using the wrong template arguments for instantiation.

Fixes PR7013; all Boost.DynamicBitset tests now pass.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102974 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/Sema.h
lib/Sema/SemaTemplateInstantiate.cpp
lib/Sema/SemaTemplateInstantiateDecl.cpp
test/SemaTemplate/friend-template.cpp