From 6009608bc694543c83cd6fa1702f55b346db34ac Mon Sep 17 00:00:00 2001 From: Matt Pharr Date: Fri, 7 Oct 2011 16:06:14 -0700 Subject: [PATCH] Mark inlined functions as having static linkage --- func.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/func.cpp b/func.cpp index c8983909..fc33b8f3 100644 --- a/func.cpp +++ b/func.cpp @@ -251,7 +251,8 @@ Function::InitFunctionSymbol(DeclSpecs *ds, Declarator *decl) { return NULL; // And create the llvm::Function - llvm::GlobalValue::LinkageTypes linkage = ds->storageClass == SC_STATIC ? + llvm::GlobalValue::LinkageTypes linkage = (ds->storageClass == SC_STATIC || + (ds->typeQualifier & TYPEQUAL_INLINE)) ? llvm::GlobalValue::InternalLinkage : llvm::GlobalValue::ExternalLinkage; std::string functionName = ((ds->storageClass == SC_EXTERN_C) ? funSym->name : funSym->MangledName());