]> granicus.if.org Git - clang/commit
Recommit "Support attribute used in member funcs of class templates"
authorRafael Auler <rafaelauler@fb.com>
Wed, 20 Mar 2019 19:22:24 +0000 (19:22 +0000)
committerRafael Auler <rafaelauler@fb.com>
Wed, 20 Mar 2019 19:22:24 +0000 (19:22 +0000)
commit09aea98d000e0081c512a1ef9e3690f2a6762157
tree952d9cfeed096fa3d4a412dc724652f52e6f7112
parent1e1ffe52e64547dc5f23ac1d017f284d33142a52
Recommit "Support attribute used in member funcs of class templates"

This diff previously exposed a bug in LLVM's IRLinker, breaking
buildbots that tried to self-host LLVM with monolithic LTO.
The bug is now in LLVM by D59552

Original commit message:
As PR17480 describes, clang does not support the used attribute
for member functions of class templates. This means that if the member
function is not used, its definition is never instantiated. This patch
changes clang to emit the definition if it has the used attribute.

Test Plan: Added a testcase

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D56928

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@356598 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaTemplateInstantiateDecl.cpp
test/CodeGenCXX/attr-used-member-function-implicit-instantiation.cpp [new file with mode: 0644]