]> granicus.if.org Git - clang/commit
Remember to instantiate explicit template argument lists in a friend
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 11 Jan 2019 01:59:33 +0000 (01:59 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 11 Jan 2019 01:59:33 +0000 (01:59 +0000)
commitad7a7a80dbde79b35df9ba54809d33d427481dee
treefe1b96b9407a7dc924dc5650bbd6e7a2526a59f9
parent205745cdf756f8d32a29fb8541f227139672ee8f
Remember to instantiate explicit template argument lists in a friend
function declaration.

We'd previously often just drop these on the floor, and friend
redeclaration matching would usually (but not always) figure out the
right redeclaration anyway.

Also, don't try to match a dependent friend function template
specialization to a template until instantiation, and don't forget to
reject qualified friend declarations in dependent contexts that don't
name an already-declared entity.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@350915 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/TemplateBase.h
lib/Sema/SemaDecl.cpp
lib/Sema/SemaOverload.cpp
lib/Sema/SemaTemplateInstantiateDecl.cpp
test/SemaTemplate/friend.cpp