]> granicus.if.org Git - clang/commit
CodeGen: Mark functions used in vtables as unnamed_addr.
authorPeter Collingbourne <peter@pcc.me.uk>
Mon, 14 Mar 2016 18:41:59 +0000 (18:41 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Mon, 14 Mar 2016 18:41:59 +0000 (18:41 +0000)
commit6968928bfded15e0221a115052e3b47daa8aaf68
treee6a7643d1a97a14933af6788db63814e09eaffa4
parent3d0365e9b31afff2f102d933bf06bf1f1b03e751
CodeGen: Mark functions used in vtables as unnamed_addr.

This marks virtual function declarations, as well as runtime library functions
__cxa_pure_virtual, __cxa_deleted_virtual and _purecall, as unnamed_addr. This
will allow us to correctly form relative references to them from vtables in
the relative vtable ABI.

Differential Revision: http://reviews.llvm.org/D18071

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263464 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGVTables.cpp
lib/CodeGen/CodeGenModule.cpp
test/CodeGenCXX/virtual-function-attrs.cpp [new file with mode: 0644]
test/CodeGenCXX/vtt-layout.cpp