diff options
| author | Nuno Lopes <nunoplopes@sapo.pt> | 2012-06-21 18:38:26 +0000 |
|---|---|---|
| committer | Nuno Lopes <nunoplopes@sapo.pt> | 2012-06-21 18:38:26 +0000 |
| commit | f06b731fed378eee6ec18aa1e21c1e73602d687d (patch) | |
| tree | 3b760bd112b395e382e8eefaf04e8235c47b8d59 /llvm/lib/Analysis/MemoryBuiltins.cpp | |
| parent | 5b61422d80a4c308d0d3b6e59acdab429c5e3e82 (diff) | |
| download | bcm5719-llvm-f06b731fed378eee6ec18aa1e21c1e73602d687d.tar.gz bcm5719-llvm-f06b731fed378eee6ec18aa1e21c1e73602d687d.zip | |
fix build in C++11 mode.
Thanks to Chandler for pointing out the problem.
llvm-svn: 158928
Diffstat (limited to 'llvm/lib/Analysis/MemoryBuiltins.cpp')
| -rw-r--r-- | llvm/lib/Analysis/MemoryBuiltins.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/llvm/lib/Analysis/MemoryBuiltins.cpp b/llvm/lib/Analysis/MemoryBuiltins.cpp index 436cffd6e8e..86d91352646 100644 --- a/llvm/lib/Analysis/MemoryBuiltins.cpp +++ b/llvm/lib/Analysis/MemoryBuiltins.cpp @@ -43,7 +43,7 @@ struct AllocFnsTy { AllocType AllocTy; unsigned char NumParams; // First and Second size parameters (or -1 if unused) - unsigned char FstParam, SndParam; + signed char FstParam, SndParam; }; static const AllocFnsTy AllocationFnData[] = { @@ -100,16 +100,16 @@ static const AllocFnsTy *getAllocationData(const Value *V, AllocType AllocTy, // Check function prototype. // FIXME: Check the nobuiltin metadata?? (PR5130) - unsigned FstParam = FnData->FstParam; - unsigned SndParam = FnData->SndParam; + int FstParam = FnData->FstParam; + int SndParam = FnData->SndParam; FunctionType *FTy = Callee->getFunctionType(); if (FTy->getReturnType() == Type::getInt8PtrTy(FTy->getContext()) && FTy->getNumParams() == FnData->NumParams && - (FstParam == (unsigned char)-1 || + (FstParam < 0 || (FTy->getParamType(FstParam)->isIntegerTy(32) || FTy->getParamType(FstParam)->isIntegerTy(64))) && - (SndParam == (unsigned char)-1 || + (SndParam < 0 || FTy->getParamType(SndParam)->isIntegerTy(32) || FTy->getParamType(SndParam)->isIntegerTy(64))) return FnData; @@ -421,7 +421,7 @@ SizeOffsetType ObjectSizeOffsetVisitor::visitCallSite(CallSite CS) { APInt Size = Arg->getValue().zextOrSelf(IntTyBits); // size determined by just 1 parameter - if (FnData->SndParam == (unsigned char)-1) + if (FnData->SndParam < 0) return std::make_pair(Size, Zero); Arg = dyn_cast<ConstantInt>(CS.getArgument(FnData->SndParam)); @@ -604,7 +604,7 @@ SizeOffsetEvalType ObjectSizeOffsetEvaluator::visitCallSite(CallSite CS) { Value *FirstArg = CS.getArgument(FnData->FstParam); FirstArg = Builder.CreateZExt(FirstArg, IntTy); - if (FnData->SndParam == (unsigned char)-1) + if (FnData->SndParam < 0) return std::make_pair(FirstArg, Zero); Value *SecondArg = CS.getArgument(FnData->SndParam); |

