summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/ItaniumCXXABI.cpp
diff options
context:
space:
mode:
authorTimur Iskhodzhanov <timurrrr@google.com>2013-10-09 09:23:58 +0000
committerTimur Iskhodzhanov <timurrrr@google.com>2013-10-09 09:23:58 +0000
commitad9d3b8fd1f00f979baa49b29867edbbc6967d08 (patch)
treec401a87307f46129d10687620cfa19e69cfd808d /clang/lib/CodeGen/ItaniumCXXABI.cpp
parent1411aeb2a258a2f92f3d13353c91c1af3c7c6419 (diff)
downloadbcm5719-llvm-ad9d3b8fd1f00f979baa49b29867edbbc6967d08.tar.gz
bcm5719-llvm-ad9d3b8fd1f00f979baa49b29867edbbc6967d08.zip
Reland 192220 "Abstract out parts of thunk emission code, add support for simple thunks when using -cxx-abi microsoft" with relaxed assertions
llvm-svn: 192285
Diffstat (limited to 'clang/lib/CodeGen/ItaniumCXXABI.cpp')
-rw-r--r--clang/lib/CodeGen/ItaniumCXXABI.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/ItaniumCXXABI.cpp b/clang/lib/CodeGen/ItaniumCXXABI.cpp
index ecf5d577981..1e34a16dd99 100644
--- a/clang/lib/CodeGen/ItaniumCXXABI.cpp
+++ b/clang/lib/CodeGen/ItaniumCXXABI.cpp
@@ -173,6 +173,13 @@ public:
void emitVirtualInheritanceTables(const CXXRecordDecl *RD);
+ void setThunkLinkage(llvm::Function *Thunk, bool ForVTable) {
+ // Allow inlining of thunks by emitting them with available_externally
+ // linkage together with vtables when needed.
+ if (ForVTable)
+ Thunk->setLinkage(llvm::GlobalValue::AvailableExternallyLinkage);
+ }
+
StringRef GetPureVirtualCallName() { return "__cxa_pure_virtual"; }
StringRef GetDeletedVirtualCallName() { return "__cxa_deleted_virtual"; }
OpenPOWER on IntegriCloud