From: Chris Lattner Date: Sat, 28 Feb 2009 19:01:03 +0000 (+0000) Subject: improve compatibility with the VC++'08 C++ compiler. Patch by X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=161d36de7ee686b09525bb919ad1b20592e499fc;p=clang improve compatibility with the VC++'08 C++ compiler. Patch by Niklas Larsson! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65706 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/GRExprEngine.cpp b/lib/Analysis/GRExprEngine.cpp index 8f7b674ead..916340d175 100644 --- a/lib/Analysis/GRExprEngine.cpp +++ b/lib/Analysis/GRExprEngine.cpp @@ -1357,7 +1357,8 @@ void GRExprEngine::VisitCallRec(CallExpr* CE, NodeTy* Pred, // Transfer function: Objective-C ivar references. //===----------------------------------------------------------------------===// -static std::pair EagerlyAssumeTag(&EagerlyAssumeTag,0); +static std::pair EagerlyAssumeTag + = std::pair(&EagerlyAssumeTag,0); void GRExprEngine::EvalEagerlyAssume(NodeSet &Dst, NodeSet &Src, Expr *Ex) { for (NodeSet::iterator I=Src.begin(), E=Src.end(); I!=E; ++I) { diff --git a/lib/CodeGen/CGBlocks.cpp b/lib/CodeGen/CGBlocks.cpp index 2833b7ecb0..696f889b63 100644 --- a/lib/CodeGen/CGBlocks.cpp +++ b/lib/CodeGen/CGBlocks.cpp @@ -472,17 +472,17 @@ llvm::Value *CodeGenFunction::LoadBlockStruct() { return Builder.CreateLoad(LocalDeclMap[getBlockStructDecl()], "self"); } -llvm::Function *CodeGenFunction::GenerateBlockFunction(const BlockExpr *Expr, +llvm::Function *CodeGenFunction::GenerateBlockFunction(const BlockExpr *BExpr, const BlockInfo& Info, uint64_t &Size, uint64_t &Align, llvm::SmallVector &subBlockDeclRefDecls) { const FunctionProtoType *FTy = - cast(Expr->getFunctionType()); + cast(BExpr->getFunctionType()); FunctionArgList Args; - const BlockDecl *BD = Expr->getBlockDecl(); + const BlockDecl *BD = BExpr->getBlockDecl(); // FIXME: This leaks ImplicitParamDecl *SelfDecl = @@ -510,9 +510,9 @@ llvm::Function *CodeGenFunction::GenerateBlockFunction(const BlockExpr *Expr, &CGM.getModule()); StartFunction(BD, FTy->getResultType(), Fn, Args, - Expr->getBody()->getLocEnd()); - EmitStmt(Expr->getBody()); - FinishFunction(cast(Expr->getBody())->getRBracLoc()); + BExpr->getBody()->getLocEnd()); + EmitStmt(BExpr->getBody()); + FinishFunction(cast(BExpr->getBody())->getRBracLoc()); // The runtime needs a minimum alignment of a void *. uint64_t MinAlign = getContext().getTypeAlign(getContext().VoidPtrTy) / 8; diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h index f2a08b1c5c..6e43572382 100644 --- a/lib/CodeGen/CodeGenFunction.h +++ b/lib/CodeGen/CodeGenFunction.h @@ -279,7 +279,7 @@ public: : BlockLiteralTy(blt), Name(n) {} }; - llvm::Function *GenerateBlockFunction(const BlockExpr *Expr, + llvm::Function *GenerateBlockFunction(const BlockExpr *BExpr, const BlockInfo& Info, uint64_t &Size, uint64_t &Align, llvm::SmallVector &subBlockDeclRefDecls);