Index: examples/BrainF/BrainF.cpp =================================================================== --- examples/BrainF/BrainF.cpp +++ examples/BrainF/BrainF.cpp @@ -29,6 +29,7 @@ #include "llvm/IR/Instructions.h" #include "llvm/IR/Intrinsics.h" #include + using namespace llvm; //Set the constants for naming @@ -44,7 +45,7 @@ comflag = cf; header(Context); - readloop(0, 0, 0, Context); + readloop(nullptr, nullptr, nullptr, Context); delete builder; return module; } @@ -68,7 +69,6 @@ getOrInsertFunction("putchar", IntegerType::getInt32Ty(C), IntegerType::getInt32Ty(C), NULL)); - //Function header //define void @brainf() @@ -85,7 +85,7 @@ Constant* allocsize = ConstantExpr::getSizeOf(Int8Ty); allocsize = ConstantExpr::getTruncOrBitCast(allocsize, IntPtrTy); ptr_arr = CallInst::CreateMalloc(BB, IntPtrTy, Int8Ty, allocsize, val_mem, - NULL, "arr"); + nullptr, "arr"); BB->getInstList().push_back(cast(ptr_arr)); //call void @llvm.memset.p0i8.i32(i8 *%arr, i8 0, i32 %d, i32 1, i1 0) @@ -114,8 +114,6 @@ ConstantInt::get(C, APInt(32, memtotal/2)), headreg); - - //Function footer //brainf.end: @@ -127,8 +125,6 @@ //ret void ReturnInst::Create(C, endbb); - - //Error block for array out of bounds if (comflag & flag_arraybounds) { Index: examples/Fibonacci/fibonacci.cpp =================================================================== --- examples/Fibonacci/fibonacci.cpp +++ examples/Fibonacci/fibonacci.cpp @@ -33,6 +33,7 @@ #include "llvm/IR/Module.h" #include "llvm/Support/TargetSelect.h" #include "llvm/Support/raw_ostream.h" + using namespace llvm; static Function *CreateFibFunction(Module *M, LLVMContext &Context) { @@ -41,7 +42,7 @@ Function *FibF = cast(M->getOrInsertFunction("fib", Type::getInt32Ty(Context), Type::getInt32Ty(Context), - (Type *)0)); + nullptr)); // Add a basic block to the function. BasicBlock *BB = BasicBlock::Create(Context, "EntryBlock", FibF); @@ -87,7 +88,6 @@ return FibF; } - int main(int argc, char **argv) { int n = argc > 1 ? atol(argv[1]) : 24; Index: examples/HowToUseJIT/HowToUseJIT.cpp =================================================================== --- examples/HowToUseJIT/HowToUseJIT.cpp +++ examples/HowToUseJIT/HowToUseJIT.cpp @@ -65,7 +65,7 @@ Function *Add1F = cast(M->getOrInsertFunction("add1", Type::getInt32Ty(Context), Type::getInt32Ty(Context), - (Type *)0)); + nullptr)); // Add a basic block to the function. As before, it automatically inserts // because of the last argument. @@ -91,12 +91,11 @@ // Now, function add1 is ready. - // Now we're going to create function `foo', which returns an int and takes no // arguments. Function *FooF = cast(M->getOrInsertFunction("foo", Type::getInt32Ty(Context), - (Type *)0)); + nullptr)); // Add a basic block to the FooF function. BB = BasicBlock::Create(Context, "EntryBlock", FooF); Index: examples/Kaleidoscope/Chapter2/toy.cpp =================================================================== --- examples/Kaleidoscope/Chapter2/toy.cpp +++ examples/Kaleidoscope/Chapter2/toy.cpp @@ -53,7 +53,7 @@ LastChar = getchar(); } while (isdigit(LastChar) || LastChar == '.'); - NumVal = strtod(NumStr.c_str(), 0); + NumVal = strtod(NumStr.c_str(), nullptr); return tok_number; } Index: examples/Kaleidoscope/Chapter3/toy.cpp =================================================================== --- examples/Kaleidoscope/Chapter3/toy.cpp +++ examples/Kaleidoscope/Chapter3/toy.cpp @@ -8,6 +8,7 @@ #include #include #include + using namespace llvm; //===----------------------------------------------------------------------===// @@ -58,7 +59,7 @@ LastChar = getchar(); } while (isdigit(LastChar) || LastChar == '.'); - NumVal = strtod(NumStr.c_str(), 0); + NumVal = strtod(NumStr.c_str(), nullptr); return tok_number; } @@ -193,6 +194,7 @@ fprintf(stderr, "Error: %s\n", Str); return nullptr; } + std::unique_ptr ErrorP(const char *Str) { Error(Str); return nullptr; Index: examples/Kaleidoscope/Chapter4/toy.cpp =================================================================== --- examples/Kaleidoscope/Chapter4/toy.cpp +++ examples/Kaleidoscope/Chapter4/toy.cpp @@ -65,7 +65,7 @@ LastChar = getchar(); } while (isdigit(LastChar) || LastChar == '.'); - NumVal = strtod(NumStr.c_str(), 0); + NumVal = strtod(NumStr.c_str(), nullptr); return tok_number; } @@ -200,6 +200,7 @@ fprintf(stderr, "Error: %s\n", Str); return nullptr; } + std::unique_ptr ErrorP(const char *Str) { Error(Str); return nullptr; Index: examples/Kaleidoscope/Chapter5/toy.cpp =================================================================== --- examples/Kaleidoscope/Chapter5/toy.cpp +++ examples/Kaleidoscope/Chapter5/toy.cpp @@ -82,7 +82,7 @@ LastChar = getchar(); } while (isdigit(LastChar) || LastChar == '.'); - NumVal = strtod(NumStr.c_str(), 0); + NumVal = strtod(NumStr.c_str(), nullptr); return tok_number; } @@ -242,6 +242,7 @@ fprintf(stderr, "Error: %s\n", Str); return nullptr; } + std::unique_ptr ErrorP(const char *Str) { Error(Str); return nullptr; Index: examples/Kaleidoscope/Chapter6/toy.cpp =================================================================== --- examples/Kaleidoscope/Chapter6/toy.cpp +++ examples/Kaleidoscope/Chapter6/toy.cpp @@ -90,7 +90,7 @@ LastChar = getchar(); } while (isdigit(LastChar) || LastChar == '.'); - NumVal = strtod(NumStr.c_str(), 0); + NumVal = strtod(NumStr.c_str(), nullptr); return tok_number; } @@ -275,6 +275,7 @@ fprintf(stderr, "Error: %s\n", Str); return nullptr; } + std::unique_ptr ErrorP(const char *Str) { Error(Str); return nullptr; Index: examples/Kaleidoscope/Chapter7/toy.cpp =================================================================== --- examples/Kaleidoscope/Chapter7/toy.cpp +++ examples/Kaleidoscope/Chapter7/toy.cpp @@ -95,7 +95,7 @@ LastChar = getchar(); } while (isdigit(LastChar) || LastChar == '.'); - NumVal = strtod(NumStr.c_str(), 0); + NumVal = strtod(NumStr.c_str(), nullptr); return tok_number; } @@ -294,6 +294,7 @@ fprintf(stderr, "Error: %s\n", Str); return nullptr; } + std::unique_ptr ErrorP(const char *Str) { Error(Str); return nullptr; @@ -703,7 +704,7 @@ const std::string &VarName) { IRBuilder<> TmpB(&TheFunction->getEntryBlock(), TheFunction->getEntryBlock().begin()); - return TmpB.CreateAlloca(Type::getDoubleTy(getGlobalContext()), 0, + return TmpB.CreateAlloca(Type::getDoubleTy(getGlobalContext()), nullptr, VarName.c_str()); } Index: examples/Kaleidoscope/Chapter8/toy.cpp =================================================================== --- examples/Kaleidoscope/Chapter8/toy.cpp +++ examples/Kaleidoscope/Chapter8/toy.cpp @@ -163,7 +163,7 @@ LastChar = advance(); } while (isdigit(LastChar) || LastChar == '.'); - NumVal = strtod(NumStr.c_str(), 0); + NumVal = strtod(NumStr.c_str(), nullptr); return tok_number; } @@ -431,6 +431,7 @@ fprintf(stderr, "Error: %s\n", Str); return nullptr; } + std::unique_ptr ErrorP(const char *Str) { Error(Str); return nullptr; @@ -886,7 +887,7 @@ const std::string &VarName) { IRBuilder<> TmpB(&TheFunction->getEntryBlock(), TheFunction->getEntryBlock().begin()); - return TmpB.CreateAlloca(Type::getDoubleTy(getGlobalContext()), 0, + return TmpB.CreateAlloca(Type::getDoubleTy(getGlobalContext()), nullptr, VarName.c_str()); } Index: examples/Kaleidoscope/Orc/fully_lazy/toy.cpp =================================================================== --- examples/Kaleidoscope/Orc/fully_lazy/toy.cpp +++ examples/Kaleidoscope/Orc/fully_lazy/toy.cpp @@ -87,7 +87,7 @@ LastChar = getchar(); } while (isdigit(LastChar) || LastChar == '.'); - NumVal = strtod(NumStr.c_str(), 0); + NumVal = strtod(NumStr.c_str(), nullptr); return tok_number; } @@ -387,7 +387,6 @@ return ErrorU("expected '=' after for"); getNextToken(); // eat '='. - auto Start = ParseExpression(); if (!Start) return nullptr; @@ -748,7 +747,7 @@ const std::string &VarName) { IRBuilder<> TmpB(&TheFunction->getEntryBlock(), TheFunction->getEntryBlock().begin()); - return TmpB.CreateAlloca(Type::getDoubleTy(getGlobalContext()), 0, + return TmpB.CreateAlloca(Type::getDoubleTy(getGlobalContext()), nullptr, VarName.c_str()); } @@ -760,7 +759,7 @@ // Look this variable up in the function. Value *V = C.NamedValues[Name]; - if (V == 0) + if (!V) return ErrorP("Unknown variable name '" + Name + "'"); // Load the value. @@ -960,7 +959,7 @@ // Compute the end condition. Value *EndCond = End->IRGen(C); - if (EndCond == 0) return EndCond; + if (!EndCond) return nullptr; // Reload, increment, and restore the alloca. This handles the case where // the body of the loop mutates the variable. @@ -988,7 +987,6 @@ else C.NamedValues.erase(VarName); - // for expr always returns 0.0. return Constant::getNullValue(Type::getDoubleTy(getGlobalContext())); } @@ -1236,7 +1234,7 @@ RuntimeDyld::SymbolInfo searchFunctionASTs(const std::string &Name) { auto DefI = FunctionDefs.find(Name); if (DefI == FunctionDefs.end()) - return 0; + return nullptr; // Return the address of the stub. // Take the FunctionAST out of the map. Index: examples/Kaleidoscope/Orc/initial/toy.cpp =================================================================== --- examples/Kaleidoscope/Orc/initial/toy.cpp +++ examples/Kaleidoscope/Orc/initial/toy.cpp @@ -86,7 +86,7 @@ LastChar = getchar(); } while (isdigit(LastChar) || LastChar == '.'); - NumVal = strtod(NumStr.c_str(), 0); + NumVal = strtod(NumStr.c_str(), nullptr); return tok_number; } @@ -386,7 +386,6 @@ return ErrorU("expected '=' after for"); getNextToken(); // eat '='. - auto Start = ParseExpression(); if (!Start) return nullptr; @@ -747,7 +746,7 @@ const std::string &VarName) { IRBuilder<> TmpB(&TheFunction->getEntryBlock(), TheFunction->getEntryBlock().begin()); - return TmpB.CreateAlloca(Type::getDoubleTy(getGlobalContext()), 0, + return TmpB.CreateAlloca(Type::getDoubleTy(getGlobalContext()), nullptr, VarName.c_str()); } @@ -759,7 +758,7 @@ // Look this variable up in the function. Value *V = C.NamedValues[Name]; - if (V == 0) + if (!V) return ErrorP("Unknown variable name '" + Name + "'"); // Load the value. @@ -959,7 +958,7 @@ // Compute the end condition. Value *EndCond = End->IRGen(C); - if (EndCond == 0) return EndCond; + if (!EndCond) return nullptr; // Reload, increment, and restore the alloca. This handles the case where // the body of the loop mutates the variable. @@ -987,7 +986,6 @@ else C.NamedValues.erase(VarName); - // for expr always returns 0.0. return Constant::getNullValue(Type::getDoubleTy(getGlobalContext())); } Index: examples/Kaleidoscope/Orc/lazy_codegen/toy.cpp =================================================================== --- examples/Kaleidoscope/Orc/lazy_codegen/toy.cpp +++ examples/Kaleidoscope/Orc/lazy_codegen/toy.cpp @@ -86,7 +86,7 @@ LastChar = getchar(); } while (isdigit(LastChar) || LastChar == '.'); - NumVal = strtod(NumStr.c_str(), 0); + NumVal = strtod(NumStr.c_str(), nullptr); return tok_number; } @@ -386,7 +386,6 @@ return ErrorU("expected '=' after for"); getNextToken(); // eat '='. - auto Start = ParseExpression(); if (!Start) return nullptr; @@ -747,7 +746,7 @@ const std::string &VarName) { IRBuilder<> TmpB(&TheFunction->getEntryBlock(), TheFunction->getEntryBlock().begin()); - return TmpB.CreateAlloca(Type::getDoubleTy(getGlobalContext()), 0, + return TmpB.CreateAlloca(Type::getDoubleTy(getGlobalContext()), nullptr, VarName.c_str()); } @@ -759,7 +758,7 @@ // Look this variable up in the function. Value *V = C.NamedValues[Name]; - if (V == 0) + if (!V) return ErrorP("Unknown variable name '" + Name + "'"); // Load the value. @@ -959,7 +958,7 @@ // Compute the end condition. Value *EndCond = End->IRGen(C); - if (EndCond == 0) return EndCond; + if (!EndCond) return nullptr; // Reload, increment, and restore the alloca. This handles the case where // the body of the loop mutates the variable. @@ -987,7 +986,6 @@ else C.NamedValues.erase(VarName); - // for expr always returns 0.0. return Constant::getNullValue(Type::getDoubleTy(getGlobalContext())); } Index: examples/Kaleidoscope/Orc/lazy_irgen/toy.cpp =================================================================== --- examples/Kaleidoscope/Orc/lazy_irgen/toy.cpp +++ examples/Kaleidoscope/Orc/lazy_irgen/toy.cpp @@ -86,7 +86,7 @@ LastChar = getchar(); } while (isdigit(LastChar) || LastChar == '.'); - NumVal = strtod(NumStr.c_str(), 0); + NumVal = strtod(NumStr.c_str(), nullptr); return tok_number; } @@ -386,7 +386,6 @@ return ErrorU("expected '=' after for"); getNextToken(); // eat '='. - auto Start = ParseExpression(); if (!Start) return nullptr; @@ -747,7 +746,7 @@ const std::string &VarName) { IRBuilder<> TmpB(&TheFunction->getEntryBlock(), TheFunction->getEntryBlock().begin()); - return TmpB.CreateAlloca(Type::getDoubleTy(getGlobalContext()), 0, + return TmpB.CreateAlloca(Type::getDoubleTy(getGlobalContext()), nullptr, VarName.c_str()); } @@ -759,7 +758,7 @@ // Look this variable up in the function. Value *V = C.NamedValues[Name]; - if (V == 0) + if (!V) return ErrorP("Unknown variable name '" + Name + "'"); // Load the value. @@ -959,7 +958,7 @@ // Compute the end condition. Value *EndCond = End->IRGen(C); - if (EndCond == 0) return EndCond; + if (!EndCond) return nullptr; // Reload, increment, and restore the alloca. This handles the case where // the body of the loop mutates the variable. @@ -987,7 +986,6 @@ else C.NamedValues.erase(VarName); - // for expr always returns 0.0. return Constant::getNullValue(Type::getDoubleTy(getGlobalContext())); } @@ -1223,7 +1221,7 @@ RuntimeDyld::SymbolInfo searchFunctionASTs(const std::string &Name) { auto DefI = FunctionDefs.find(Name); if (DefI == FunctionDefs.end()) - return 0; + return nullptr; // Take the FunctionAST out of the map. auto FnAST = std::move(DefI->second); Index: examples/ParallelJIT/ParallelJIT.cpp =================================================================== --- examples/ParallelJIT/ParallelJIT.cpp +++ examples/ParallelJIT/ParallelJIT.cpp @@ -28,6 +28,7 @@ #include "llvm/Support/TargetSelect.h" #include #include + using namespace llvm; static Function* createAdd1(Module *M) { @@ -38,7 +39,7 @@ cast(M->getOrInsertFunction("add1", Type::getInt32Ty(M->getContext()), Type::getInt32Ty(M->getContext()), - (Type *)0)); + nullptr)); // Add a basic block to the function. As before, it automatically inserts // because of the last argument. @@ -69,7 +70,7 @@ cast(M->getOrInsertFunction("fib", Type::getInt32Ty(M->getContext()), Type::getInt32Ty(M->getContext()), - (Type *)0)); + nullptr)); // Add a basic block to the function. BasicBlock *BB = BasicBlock::Create(M->getContext(), "EntryBlock", FibF); @@ -129,10 +130,10 @@ n = 0; waitFor = 0; - int result = pthread_cond_init( &condition, NULL ); + int result = pthread_cond_init( &condition, nullptr ); assert( result == 0 ); - result = pthread_mutex_init( &mutex, NULL ); + result = pthread_mutex_init( &mutex, nullptr ); assert( result == 0 ); } @@ -261,21 +262,21 @@ struct threadParams fib2 = { EE, fibF, 42 }; pthread_t add1Thread; - int result = pthread_create( &add1Thread, NULL, callFunc, &add1 ); + int result = pthread_create( &add1Thread, nullptr, callFunc, &add1 ); if ( result != 0 ) { std::cerr << "Could not create thread" << std::endl; return 1; } pthread_t fibThread1; - result = pthread_create( &fibThread1, NULL, callFunc, &fib1 ); + result = pthread_create( &fibThread1, nullptr, callFunc, &fib1 ); if ( result != 0 ) { std::cerr << "Could not create thread" << std::endl; return 1; } pthread_t fibThread2; - result = pthread_create( &fibThread2, NULL, callFunc, &fib2 ); + result = pthread_create( &fibThread2, nullptr, callFunc, &fib2 ); if ( result != 0 ) { std::cerr << "Could not create thread" << std::endl; return 1; Index: include/llvm/ADT/ImmutableList.h =================================================================== --- include/llvm/ADT/ImmutableList.h +++ include/llvm/ADT/ImmutableList.h @@ -28,7 +28,7 @@ T Head; const ImmutableListImpl* Tail; - ImmutableListImpl(const T& head, const ImmutableListImpl* tail = 0) + ImmutableListImpl(const T& head, const ImmutableListImpl* tail = nullptr) : Head(head), Tail(tail) {} friend class ImmutableListFactory; @@ -72,7 +72,7 @@ // This constructor should normally only be called by ImmutableListFactory. // There may be cases, however, when one needs to extract the internal pointer // and reconstruct a list object from that pointer. - ImmutableList(const ImmutableListImpl* x = 0) : X(x) {} + ImmutableList(const ImmutableListImpl* x = nullptr) : X(x) {} const ImmutableListImpl* getInternalPointer() const { return X; @@ -81,7 +81,7 @@ class iterator { const ImmutableListImpl* L; public: - iterator() : L(0) {} + iterator() : L(nullptr) {} iterator(ImmutableList l) : L(l.getInternalPointer()) {} iterator& operator++() { L = L->getTail(); return *this; } @@ -128,7 +128,7 @@ /// getTail - Returns the tail of the list, which is another (possibly empty) /// ImmutableList. ImmutableList getTail() { - return X ? X->getTail() : 0; + return X ? X->getTail() : nullptr; } void Profile(FoldingSetNodeID& ID) const { @@ -190,7 +190,7 @@ } ImmutableList getEmptyList() const { - return ImmutableList(0); + return ImmutableList(nullptr); } ImmutableList create(const T& X) { @@ -226,4 +226,4 @@ } // end llvm namespace -#endif +#endif // LLVM_ADT_IMMUTABLELIST_H Index: include/llvm/ADT/ImmutableMap.h =================================================================== --- include/llvm/ADT/ImmutableMap.h +++ include/llvm/ADT/ImmutableMap.h @@ -78,9 +78,11 @@ explicit ImmutableMap(const TreeTy* R) : Root(const_cast(R)) { if (Root) { Root->retain(); } } + ImmutableMap(const ImmutableMap &X) : Root(X.Root) { if (Root) { Root->retain(); } } + ImmutableMap &operator=(const ImmutableMap &X) { if (Root != X.Root) { if (X.Root) { X.Root->retain(); } @@ -89,6 +91,7 @@ } return *this; } + ~ImmutableMap() { if (Root) { Root->release(); } } @@ -377,7 +380,7 @@ if (T) return &T->getValue().second; } - return 0; + return nullptr; } /// getMaxElement - Returns the pair in the ImmutableMap for @@ -402,4 +405,4 @@ } // end namespace llvm -#endif +#endif // LLVM_ADT_IMMUTABLEMAP_H Index: include/llvm/ADT/IntrusiveRefCntPtr.h =================================================================== --- include/llvm/ADT/IntrusiveRefCntPtr.h +++ include/llvm/ADT/IntrusiveRefCntPtr.h @@ -154,7 +154,7 @@ template IntrusiveRefCntPtr(IntrusiveRefCntPtr&& S) : Obj(S.get()) { - S.Obj = 0; + S.Obj = nullptr; } template @@ -190,7 +190,7 @@ } void resetWithoutRelease() { - Obj = 0; + Obj = nullptr; } private: Index: include/llvm/ADT/SparseBitVector.h =================================================================== --- include/llvm/ADT/SparseBitVector.h +++ include/llvm/ADT/SparseBitVector.h @@ -39,7 +39,6 @@ /// etc) do not perform as well in practice as a linked list with this iterator /// kept up to date. They are also significantly more memory intensive. - template struct SparseBitVectorElement : public ilist_node > { @@ -204,6 +203,7 @@ BecameZero = allzero; return changed; } + // Intersect this Element with the complement of RHS and return true if this // one changed. BecameZero is set to true if this element became all-zero // bits. @@ -226,6 +226,7 @@ BecameZero = allzero; return changed; } + // Three argument version of intersectWithComplement that intersects // RHS1 & ~RHS2 into this element void intersectWithComplement(const SparseBitVectorElement &RHS1, @@ -408,13 +409,14 @@ // bitmap. return AtEnd == RHS.AtEnd && RHS.BitNumber == BitNumber; } + bool operator!=(const SparseBitVectorIterator &RHS) const { return !(*this == RHS); } - SparseBitVectorIterator(): BitVector(NULL) { + + SparseBitVectorIterator(): BitVector(nullptr) { } - SparseBitVectorIterator(const SparseBitVector *RHS, bool end = false):BitVector(RHS) { Iter = BitVector->Elements.begin(); @@ -690,7 +692,6 @@ return intersectWithComplement(*RHS); } - // Three argument version of intersectWithComplement. // Result of RHS1 & ~RHS2 is stored into this bitmap. void intersectWithComplement(const SparseBitVector &RHS1, @@ -749,8 +750,6 @@ Elements.push_back(NewElement); ++Iter1; } - - return; } void intersectWithComplement(const SparseBitVector *RHS1, @@ -885,9 +884,6 @@ return Result; } - - - // Dump a SparseBitVector to a stream template void dump(const SparseBitVector &LHS, raw_ostream &out) { @@ -905,4 +901,4 @@ } } // end namespace llvm -#endif +#endif // LLVM_ADT_SPARSEBITVECTOR_H Index: include/llvm/IR/IRBuilder.h =================================================================== --- include/llvm/IR/IRBuilder.h +++ include/llvm/IR/IRBuilder.h @@ -427,7 +427,7 @@ /// \brief Create a call to Masked Load intrinsic CallInst *CreateMaskedLoad(Value *Ptr, unsigned Align, Value *Mask, - Value *PassThru = 0, const Twine &Name = ""); + Value *PassThru = nullptr, const Twine &Name = ""); /// \brief Create a call to Masked Store intrinsic CallInst *CreateMaskedStore(Value *Val, Value *Ptr, unsigned Align, @@ -1743,6 +1743,6 @@ // Create wrappers for C Binding types (see CBindingWrapping.h). DEFINE_SIMPLE_CONVERSION_FUNCTIONS(IRBuilder<>, LLVMBuilderRef) -} +} // end namespace llvm -#endif +#endif // LLVM_IR_IRBUILDER_H Index: include/llvm/IR/InstrTypes.h =================================================================== --- include/llvm/IR/InstrTypes.h +++ include/llvm/IR/InstrTypes.h @@ -51,8 +51,8 @@ virtual BasicBlock *getSuccessorV(unsigned idx) const = 0; virtual unsigned getNumSuccessorsV() const = 0; virtual void setSuccessorV(unsigned idx, BasicBlock *B) = 0; -public: +public: /// Return the number of successors that this terminator has. unsigned getNumSuccessors() const { return getNumSuccessorsV(); @@ -271,7 +271,6 @@ } }; - //===----------------------------------------------------------------------===// // UnaryInstruction Class //===----------------------------------------------------------------------===// @@ -684,7 +683,7 @@ Value *S, ///< The pointer value to be casted (operand 0) Type *Ty, ///< The type to which cast should be made const Twine &Name = "", ///< Name for the instruction - Instruction *InsertBefore = 0 ///< Place to insert the instruction + Instruction *InsertBefore = nullptr ///< Place to insert the instruction ); /// @brief Create a BitCast, a PtrToInt, or an IntToPTr cast instruction. @@ -697,7 +696,7 @@ Value *S, ///< The pointer value to be casted (operand 0) Type *Ty, ///< The type to which cast should be made const Twine &Name = "", ///< Name for the instruction - Instruction *InsertBefore = 0 ///< Place to insert the instruction + Instruction *InsertBefore = nullptr ///< Place to insert the instruction ); /// @brief Create a ZExt, BitCast, or Trunc for int -> int casts. @@ -969,7 +968,6 @@ bool isFPPredicate() const { return isFPPredicate(getPredicate()); } bool isIntPredicate() const { return isIntPredicate(getPredicate()); } - /// For example, EQ -> NE, UGT -> ULE, SLT -> SGE, /// OEQ -> UNE, UGT -> OLE, OLT -> UGE, etc. /// @returns the inverse predicate for the instruction's current predicate. @@ -1084,7 +1082,6 @@ } }; - // FIXME: these are redundant if CmpInst < BinaryOperator template <> struct OperandTraits : public FixedNumOperandTraits { @@ -1092,6 +1089,6 @@ DEFINE_TRANSPARENT_OPERAND_ACCESSORS(CmpInst, Value) -} // End llvm namespace +} // end llvm namespace -#endif +#endif // LLVM_IR_INSTRTYPES_H Index: include/llvm/IR/Metadata.h =================================================================== --- include/llvm/IR/Metadata.h +++ include/llvm/IR/Metadata.h @@ -572,10 +572,12 @@ template<> struct DenseMapInfo { static inline AAMDNodes getEmptyKey() { - return AAMDNodes(DenseMapInfo::getEmptyKey(), 0, 0); + return AAMDNodes(DenseMapInfo::getEmptyKey(), + nullptr, nullptr); } static inline AAMDNodes getTombstoneKey() { - return AAMDNodes(DenseMapInfo::getTombstoneKey(), 0, 0); + return AAMDNodes(DenseMapInfo::getTombstoneKey(), + nullptr, nullptr); } static unsigned getHashValue(const AAMDNodes &Val) { return DenseMapInfo::getHashValue(Val.TBAA) ^ @@ -1218,4 +1220,4 @@ } // end llvm namespace -#endif +#endif // LLVM_IR_METADATA_H Index: include/llvm/IR/UseListOrder.h =================================================================== --- include/llvm/IR/UseListOrder.h +++ include/llvm/IR/UseListOrder.h @@ -34,7 +34,7 @@ UseListOrder(const Value *V, const Function *F, size_t ShuffleSize) : V(V), F(F), Shuffle(ShuffleSize) {} - UseListOrder() : V(0), F(0) {} + UseListOrder() : V(nullptr), F(nullptr) {} UseListOrder(UseListOrder &&X) : V(X.V), F(X.F), Shuffle(std::move(X.Shuffle)) {} UseListOrder &operator=(UseListOrder &&X) { @@ -53,4 +53,4 @@ } // end namespace llvm -#endif +#endif // LLVM_IR_USELISTORDER_H Index: include/llvm/Support/CrashRecoveryContext.h =================================================================== --- include/llvm/Support/CrashRecoveryContext.h +++ include/llvm/Support/CrashRecoveryContext.h @@ -137,7 +137,7 @@ if (CrashRecoveryContext *context = CrashRecoveryContext::GetCurrent()) return new DERIVED(context, x); } - return 0; + return nullptr; } }; @@ -195,9 +195,9 @@ void unregister() { if (cleanup && !cleanup->cleanupFired) cleanup->getContext()->unregisterCleanup(cleanup); - cleanup = 0; + cleanup = nullptr; } }; -} +} // end namespace llvm -#endif +#endif // LLVM_SUPPORT_CRASHRECOVERYCONTEXT_H Index: include/llvm/Support/Registry.h =================================================================== --- include/llvm/Support/Registry.h +++ include/llvm/Support/Registry.h @@ -37,7 +37,6 @@ std::unique_ptr instantiate() const { return Ctor(); } }; - /// Traits for registry entries. If using other than SimpleRegistryEntry, it /// is necessary to define an alternate traits class. template @@ -53,7 +52,6 @@ static const char *descof(const entry &Entry) { return Entry.getDesc(); } }; - /// A global registry used in conjunction with static constructors to make /// pluggable components (like targets or garbage collectors) "just work" when /// linked with an executable. @@ -102,7 +100,6 @@ } }; - /// Iterators for registry entries. /// class iterator { @@ -125,7 +122,6 @@ return iterator_range(begin(), end()); } - /// Abstract base class for registry listeners, which are informed when new /// entries are added to the registry. Simply subclass and instantiate: /// @@ -160,7 +156,7 @@ } public: - listener() : Prev(ListenerTail), Next(0) { + listener() : Prev(ListenerTail), Next(nullptr) { if (Prev) Prev->Next = this; else @@ -180,7 +176,6 @@ } }; - /// A static registration template. Use like such: /// /// Registry::Add @@ -210,7 +205,6 @@ }; /// Registry::Parser now lives in llvm/Support/RegistryParser.h. - }; // Since these are defined in a header file, plugins must be sure to export @@ -228,6 +222,6 @@ template typename Registry::listener *Registry::ListenerTail; -} +} // end namespace llvm -#endif +#endif // LLVM_SUPPORT_REGISTRY_H Index: include/llvm/Support/YAMLTraits.h =================================================================== --- include/llvm/Support/YAMLTraits.h +++ include/llvm/Support/YAMLTraits.h @@ -10,7 +10,6 @@ #ifndef LLVM_SUPPORT_YAMLTRAITS_H #define LLVM_SUPPORT_YAMLTRAITS_H - #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/DenseMapInfo.h" #include "llvm/ADT/Optional.h" @@ -29,7 +28,6 @@ namespace llvm { namespace yaml { - /// This class should be specialized by any type that needs to be converted /// to/from a YAML mapping. For example: /// @@ -52,7 +50,6 @@ // static const bool flow = true; }; - /// This class should be specialized by any integral type that converts /// to/from a YAML scalar where there is a one-to-one mapping between /// in-memory values and a string in YAML. For example: @@ -70,7 +67,6 @@ // static void enumeration(IO &io, T &value); }; - /// This class should be specialized by any integer type that is a union /// of bit values and the YAML representation is a flow sequence of /// strings. For example: @@ -88,7 +84,6 @@ // static void bitset(IO &io, T &value); }; - /// This class should be specialized by type that requires custom conversion /// to/from a yaml scalar. For example: /// @@ -149,7 +144,6 @@ // static StringRef input(StringRef Scalar, void *ctxt, T &Value); }; - /// This class should be specialized by any type that needs to be converted /// to/from a YAML sequence. For example: /// @@ -175,7 +169,6 @@ // static const bool flow = true; }; - /// This class should be specialized by any type that needs to be converted /// to/from a list of YAML documents. template @@ -185,7 +178,6 @@ // static T::value_type& element(IO &io, T &seq, size_t index); }; - // Only used by compiler if both template types are the same template struct SameType; @@ -194,8 +186,6 @@ template struct MissingTrait; - - // Test if ScalarEnumerationTraits is defined on type T. template struct has_ScalarEnumerationTraits @@ -213,7 +203,6 @@ (sizeof(test >(nullptr)) == 1); }; - // Test if ScalarBitSetTraits is defined on type T. template struct has_ScalarBitSetTraits @@ -230,7 +219,6 @@ static bool const value = (sizeof(test >(nullptr)) == 1); }; - // Test if ScalarTraits is defined on type T. template struct has_ScalarTraits @@ -252,7 +240,6 @@ (sizeof(test>(nullptr, nullptr, nullptr)) == 1); }; - // Test if BlockScalarTraits is defined on type T. template struct has_BlockScalarTraits @@ -272,7 +259,6 @@ (sizeof(test>(nullptr, nullptr)) == 1); }; - // Test if MappingTraits is defined on type T. template struct has_MappingTraits @@ -305,8 +291,6 @@ static bool const value = (sizeof(test >(nullptr)) == 1); }; - - // Test if SequenceTraits is defined on type T. template struct has_SequenceMethodTraits @@ -323,7 +307,6 @@ static bool const value = (sizeof(test >(nullptr)) == 1); }; - // has_FlowTraits will cause an error with some compilers because // it subclasses int. Using this wrapper only instantiates the // real has_FlowTraits only if the template type is a class. @@ -353,14 +336,11 @@ static bool const value = sizeof(f(nullptr)) == 2; }; - - // Test if SequenceTraits is defined on type T template struct has_SequenceTraits : public std::integral_constant::value > { }; - // Test if DocumentListTraits is defined on type T template struct has_DocumentListTraits @@ -453,7 +433,6 @@ return false; } - template struct missingTraits : public std::integral_constant::value @@ -654,8 +633,6 @@ void *Ctxt; }; - - template typename std::enable_if::value,void>::type yamlize(IO &io, T &Val, bool) { @@ -676,7 +653,6 @@ } } - template typename std::enable_if::value,void>::type yamlize(IO &io, T &Val, bool) { @@ -791,7 +767,6 @@ } } - template<> struct ScalarTraits { static void output(const bool &, void*, llvm::raw_ostream &); @@ -883,8 +858,6 @@ static bool mustQuote(StringRef) { return false; } }; - - // Utility for use within MappingTraits<>::mapping() method // to [de]normalize an object for use with YAML conversion. template @@ -917,14 +890,12 @@ TFinal &Result; }; - - // Utility for use within MappingTraits<>::mapping() method // to [de]normalize an object for use with YAML conversion. template struct MappingNormalizationHeap { MappingNormalizationHeap(IO &i_o, TFinal &Obj) - : io(i_o), BufPtr(NULL), Result(Obj) { + : io(i_o), BufPtr(nullptr), Result(Obj) { if ( io.outputting() ) { BufPtr = new (&Buffer) TNorm(io, Obj); } @@ -953,8 +924,6 @@ TFinal &Result; }; - - /// /// The Input class is used to parse a yaml document into in-memory structs /// and vectors. @@ -1083,7 +1052,6 @@ void setError(HNode *hnode, const Twine &message); void setError(Node *node, const Twine &message); - public: // These are only used by operator>>. They could be private // if those templated things could be made friends. @@ -1105,9 +1073,6 @@ bool ScalarMatchFound; }; - - - /// /// The Output class is used to generate a yaml document from in-memory structs /// and vectors. @@ -1181,9 +1146,6 @@ bool NeedsNewLine; }; - - - /// YAML I/O does conversion based on types. But often native data types /// are just a typedef of built in intergral types (e.g. int). But the C++ /// type matching system sees through the typedef and all the typedefed types @@ -1206,8 +1168,6 @@ _base value; \ }; - - /// /// Use these types instead of uintXX_t in any mapping to have /// its yaml output formatted as hexadecimal. @@ -1217,7 +1177,6 @@ LLVM_YAML_STRONG_TYPEDEF(uint32_t, Hex32) LLVM_YAML_STRONG_TYPEDEF(uint64_t, Hex64) - template<> struct ScalarTraits { static void output(const Hex8 &, void*, llvm::raw_ostream &); @@ -1246,7 +1205,6 @@ static bool mustQuote(StringRef) { return false; } }; - // Define non-member operator>> so that Input can stream in a document list. template inline @@ -1303,7 +1261,6 @@ return yin; } - // Define non-member operator<< so that Output can stream out document list. template inline @@ -1372,11 +1329,9 @@ return yout; } - } // namespace yaml } // namespace llvm - /// Utility for declaring that a std::vector of a particular type /// should be considered a YAML sequence. #define LLVM_YAML_IS_SEQUENCE_VECTOR(_type) \ @@ -1436,6 +1391,4 @@ } \ } - - #endif // LLVM_SUPPORT_YAMLTRAITS_H Index: tools/llvm-objdump/MachODump.cpp =================================================================== --- tools/llvm-objdump/MachODump.cpp +++ tools/llvm-objdump/MachODump.cpp @@ -133,6 +133,7 @@ static cl::list ArchFlags("arch", cl::desc("architecture(s) from a Mach-O file to dump"), cl::ZeroOrMore); + bool ArchAll = false; static std::string ThumbTripleName; @@ -4460,7 +4461,7 @@ bool is_meta_class; print_class_ro64_t((c.data + n_value) & ~0x7, info, is_meta_class); - if (is_meta_class == false) { + if (!is_meta_class) { outs() << "Meta Class\n"; print_class64_t(c.isa + isa_n_value, info); } @@ -4525,7 +4526,7 @@ bool is_meta_class; print_class_ro32_t(c.data & ~0x3, info, is_meta_class); - if (is_meta_class == false) { + if (!is_meta_class) { outs() << "Meta Class\n"; print_class32_t(c.isa, info); } @@ -4833,7 +4834,7 @@ outs() << " name " << format("0x%" PRIx32, c.name); name = get_symbol_32(offset + offsetof(struct category32_t, name), S, info, c.name); - if (name != NULL) + if (name) outs() << " " << name; outs() << "\n"; @@ -5527,7 +5528,7 @@ // binary for the iOS simulator which is the second Objective-C // ABI. In that case printObjc1_32bit_MetaData() will determine that // and return false. - if (printObjc1_32bit_MetaData(O, verbose) == false) + if (!printObjc1_32bit_MetaData(O, verbose)) printObjc2_32bit_MetaData(O, verbose); } }