Never emit naked functions as available_externally.

This commit is contained in:
David Nadlinger
2013-06-12 18:04:44 +02:00
parent d7526157ab
commit d3f89f81a8

View File

@@ -343,7 +343,7 @@ LLGlobalValue::LinkageTypes DtoLinkage(Dsymbol* sym)
if (fdecl->llvmInternal == LLVMintrinsic)
return llvm::GlobalValue::ExternalLinkage;
// generated by inlining semantics run
if (fdecl->availableExternally && mustDefine)
if (fdecl->availableExternally && mustDefine && !fdecl->naked)
return llvm::GlobalValue::AvailableExternallyLinkage;
// array operations are always template linkage
if (fdecl->isArrayOp == 1)