diff options
| author | Timur Iskhodzhanov <timurrrr@google.com> | 2013-10-09 09:23:58 +0000 |
|---|---|---|
| committer | Timur Iskhodzhanov <timurrrr@google.com> | 2013-10-09 09:23:58 +0000 |
| commit | ad9d3b8fd1f00f979baa49b29867edbbc6967d08 (patch) | |
| tree | c401a87307f46129d10687620cfa19e69cfd808d /clang/lib/CodeGen/ItaniumCXXABI.cpp | |
| parent | 1411aeb2a258a2f92f3d13353c91c1af3c7c6419 (diff) | |
| download | bcm5719-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.cpp | 7 |
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"; } |

