reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
521 if (ThunkFn->getFunctionType() != ThunkFnTy) { 522 llvm::GlobalValue *OldThunkFn = ThunkFn; 528 ThunkFn = llvm::Function::Create(ThunkFnTy, llvm::Function::ExternalLinkage, 530 CGM.SetLLVMFunctionAttributes(MD, FnInfo, ThunkFn); 535 llvm::ConstantExpr::getBitCast(ThunkFn, OldThunkFn->getType()); 546 if (!ThunkFn->isDeclaration()) { 549 return ThunkFn; 552 setThunkProperties(CGM, TI, ThunkFn, ForVTable, GD); 553 return ThunkFn; 561 ThunkFn->addFnAttr("thunk"); 563 CGM.SetLLVMFunctionAttributesForDefinition(GD.getDecl(), ThunkFn); 571 if (!IsUnprototyped && ThunkFn->isVarArg()) { 588 return ThunkFn; 589 ThunkFn = 590 CodeGenFunction(CGM).GenerateVarArgsThunk(ThunkFn, FnInfo, GD, TI); 593 CodeGenFunction(CGM).generateThunk(ThunkFn, FnInfo, GD, TI, IsUnprototyped); 596 setThunkProperties(CGM, TI, ThunkFn, ForVTable, GD); 597 return ThunkFn;