comparison gen/tollvm.cpp @ 1179:71479f6e2a01

Give function & delegate literals, foreach bodies and lazy parameters internal linkage.
author Frits van Bommel <fvbommel wxs.nl>
date Mon, 30 Mar 2009 16:34:36 +0200
parents 4c8bb03e4fbc
children 3251ce06c820
comparison
equal deleted inserted replaced
1178:a668f4051368 1179:71479f6e2a01
293 else if (needsTemplateLinkage(fdecl) && fdecl->fbody && !fdecl->naked) 293 else if (needsTemplateLinkage(fdecl) && fdecl->fbody && !fdecl->naked)
294 return TEMPLATE_LINKAGE_TYPE; 294 return TEMPLATE_LINKAGE_TYPE;
295 // extern(C) functions are always external 295 // extern(C) functions are always external
296 else if (ft->linkage == LINKc) 296 else if (ft->linkage == LINKc)
297 return llvm::GlobalValue::ExternalLinkage; 297 return llvm::GlobalValue::ExternalLinkage;
298 // Function & delegate literals, foreach bodies and lazy parameters: internal linkage
299 else if (fdecl->isFuncLiteralDeclaration())
300 return llvm::GlobalValue::InternalLinkage;
298 } 301 }
299 // class 302 // class
300 else if (ClassDeclaration* cd = sym->isClassDeclaration()) 303 else if (ClassDeclaration* cd = sym->isClassDeclaration())
301 { 304 {
302 // template 305 // template