Attributes on block functions were not being set.

- <rdar://problem/6800351> clang not producing correct large struct
   return code for Blocks

llvm-svn: 69337
This commit is contained in:
Daniel Dunbar
2009-04-17 00:48:04 +00:00
parent 09dbb0b5e0
commit c3e7cff6d3
5 changed files with 30 additions and 9 deletions

View File

@@ -340,14 +340,15 @@ void CodeGenModule::SetCommonAttributes(const Decl *D,
GV->setSection(SA->getName());
}
void CodeGenModule::SetMethodAttributes(const ObjCMethodDecl *MD,
llvm::Function *F) {
SetLLVMFunctionAttributes(MD, getTypes().getFunctionInfo(MD), F);
SetLLVMFunctionAttributesForDefinition(MD, F);
void CodeGenModule::SetInternalFunctionAttributes(const Decl *D,
llvm::Function *F,
const CGFunctionInfo &FI) {
SetLLVMFunctionAttributes(D, FI, F);
SetLLVMFunctionAttributesForDefinition(D, F);
F->setLinkage(llvm::Function::InternalLinkage);
SetCommonAttributes(MD, F);
SetCommonAttributes(D, F);
}
void CodeGenModule::SetFunctionAttributes(const FunctionDecl *FD,