Changes in directory llvm/include/llvm:
Argument.h updated: 1.13 -> 1.14 BasicBlock.h updated: 1.62 -> 1.63 Constants.h updated: 1.139 -> 1.140 DerivedTypes.h updated: 1.88 -> 1.89 Module.h updated: 1.84 -> 1.85 PassAnalysisSupport.h updated: 1.28 -> 1.29 PassManager.h updated: 1.38 -> 1.39 PassManagers.h updated: 1.14 -> 1.15 PassSupport.h updated: 1.36 -> 1.37 Type.h updated: 1.104 -> 1.105 --- Log message: Add the 'explicit' keyword to several constructors that accept one argument that don't appear intended as implicit-conversion operators. --- Diffs of the changes: (+25 -23) Argument.h | 4 +++- BasicBlock.h | 4 ++-- Constants.h | 6 +++--- DerivedTypes.h | 8 ++++---- Module.h | 2 +- PassAnalysisSupport.h | 2 +- PassManager.h | 2 +- PassManagers.h | 6 +++--- PassSupport.h | 10 +++++----- Type.h | 4 ++-- 10 files changed, 25 insertions(+), 23 deletions(-) Index: llvm/include/llvm/Argument.h diff -u llvm/include/llvm/Argument.h:1.13 llvm/include/llvm/Argument.h:1.14 --- llvm/include/llvm/Argument.h:1.13 Sat Dec 16 23:15:12 2006 +++ llvm/include/llvm/Argument.h Fri Mar 23 13:44:11 2007 @@ -41,7 +41,9 @@ /// Argument ctor - If Function argument is specified, this argument is /// inserted at the end of the argument list for the function. /// - Argument(const Type *Ty, const std::string &Name = "", Function *F = 0); + explicit Argument(const Type *Ty, + const std::string &Name = "", + Function *F = 0); inline const Function *getParent() const { return Parent; } inline Function *getParent() { return Parent; } Index: llvm/include/llvm/BasicBlock.h diff -u llvm/include/llvm/BasicBlock.h:1.62 llvm/include/llvm/BasicBlock.h:1.63 --- llvm/include/llvm/BasicBlock.h:1.62 Sat Dec 16 23:15:12 2006 +++ llvm/include/llvm/BasicBlock.h Fri Mar 23 13:44:11 2007 @@ -70,8 +70,8 @@ /// is automatically inserted at either the end of the function (if /// InsertBefore is null), or before the specified basic block. /// - BasicBlock(const std::string &Name = "", Function *Parent = 0, - BasicBlock *InsertBefore = 0); + explicit BasicBlock(const std::string &Name = "", Function *Parent = 0, + BasicBlock *InsertBefore = 0); ~BasicBlock(); /// getParent - Return the enclosing method, or null if none Index: llvm/include/llvm/Constants.h diff -u llvm/include/llvm/Constants.h:1.139 llvm/include/llvm/Constants.h:1.140 --- llvm/include/llvm/Constants.h:1.139 Mon Mar 19 15:39:08 2007 +++ llvm/include/llvm/Constants.h Fri Mar 23 13:44:11 2007 @@ -231,7 +231,7 @@ friend struct ConstantCreator<ConstantAggregateZero, Type, char>; ConstantAggregateZero(const ConstantAggregateZero &); // DO NOT IMPLEMENT protected: - ConstantAggregateZero(const Type *Ty) + explicit ConstantAggregateZero(const Type *Ty) : Constant(Ty, ConstantAggregateZeroVal, 0, 0) {} public: /// get() - static factory method for creating a null aggregate. It is @@ -420,7 +420,7 @@ friend struct ConstantCreator<ConstantPointerNull, PointerType, char>; ConstantPointerNull(const ConstantPointerNull &); // DO NOT IMPLEMENT protected: - ConstantPointerNull(const PointerType *T) + explicit ConstantPointerNull(const PointerType *T) : Constant(reinterpret_cast<const Type*>(T), Value::ConstantPointerNullVal, 0, 0) {} @@ -669,7 +669,7 @@ friend struct ConstantCreator<UndefValue, Type, char>; UndefValue(const UndefValue &); // DO NOT IMPLEMENT protected: - UndefValue(const Type *T) : Constant(T, UndefValueVal, 0, 0) {} + explicit UndefValue(const Type *T) : Constant(T, UndefValueVal, 0, 0) {} public: /// get() - Static factory methods - Return an 'undef' object of the specified /// type. Index: llvm/include/llvm/DerivedTypes.h diff -u llvm/include/llvm/DerivedTypes.h:1.88 llvm/include/llvm/DerivedTypes.h:1.89 --- llvm/include/llvm/DerivedTypes.h:1.88 Wed Mar 21 19:32:02 2007 +++ llvm/include/llvm/DerivedTypes.h Fri Mar 23 13:44:11 2007 @@ -36,7 +36,7 @@ friend class Type; protected: - DerivedType(TypeID id) : Type(id) {} + explicit DerivedType(TypeID id) : Type(id) {} /// notifyUsesThatTypeBecameConcrete - Notify AbstractTypeUsers of this type /// that the current type has transitioned from being abstract to being @@ -79,7 +79,7 @@ /// @brief Integer representation type class IntegerType : public DerivedType { protected: - IntegerType(unsigned NumBits) : DerivedType(IntegerTyID) { + explicit IntegerType(unsigned NumBits) : DerivedType(IntegerTyID) { setSubclassData(NumBits); } friend class TypeMap<IntegerValType, IntegerType>; @@ -230,7 +230,7 @@ /// and VectorType class CompositeType : public DerivedType { protected: - inline CompositeType(TypeID id) : DerivedType(id) { } + inline explicit CompositeType(TypeID id) : DerivedType(id) { } public: /// getTypeAtIndex - Given an index value into the type, return the type of @@ -404,7 +404,7 @@ friend class TypeMap<PointerValType, PointerType>; PointerType(const PointerType &); // Do not implement const PointerType &operator=(const PointerType &); // Do not implement - PointerType(const Type *ElType); + explicit PointerType(const Type *ElType); public: /// PointerType::get - This is the only way to construct a new pointer type. static PointerType *get(const Type *ElementType); Index: llvm/include/llvm/Module.h diff -u llvm/include/llvm/Module.h:1.84 llvm/include/llvm/Module.h:1.85 --- llvm/include/llvm/Module.h:1.84 Sun Feb 11 23:00:35 2007 +++ llvm/include/llvm/Module.h Fri Mar 23 13:44:11 2007 @@ -104,7 +104,7 @@ public: /// The Module constructor. Note that there is no default constructor. You /// must provide a name for the module upon construction. - Module(const std::string &ModuleID); + explicit Module(const std::string &ModuleID); /// The module destructor. This will dropAllReferences. ~Module(); Index: llvm/include/llvm/PassAnalysisSupport.h diff -u llvm/include/llvm/PassAnalysisSupport.h:1.28 llvm/include/llvm/PassAnalysisSupport.h:1.29 --- llvm/include/llvm/PassAnalysisSupport.h:1.28 Fri Jan 5 16:47:07 2007 +++ llvm/include/llvm/PassAnalysisSupport.h Fri Mar 23 13:44:11 2007 @@ -111,7 +111,7 @@ AnalysisResolver(); // DO NOT IMPLEMENT public: - AnalysisResolver(PMDataManager &P) : PM(P) { } + explicit AnalysisResolver(PMDataManager &P) : PM(P) { } inline PMDataManager &getPMDataManager() { return PM; } Index: llvm/include/llvm/PassManager.h diff -u llvm/include/llvm/PassManager.h:1.38 llvm/include/llvm/PassManager.h:1.39 --- llvm/include/llvm/PassManager.h:1.38 Fri Jan 5 14:16:23 2007 +++ llvm/include/llvm/PassManager.h Fri Mar 23 13:44:11 2007 @@ -59,7 +59,7 @@ /// FunctionPassManager manages FunctionPasses and BasicBlockPassManagers. class FunctionPassManager { public: - FunctionPassManager(ModuleProvider *P); + explicit FunctionPassManager(ModuleProvider *P); FunctionPassManager(); ~FunctionPassManager(); Index: llvm/include/llvm/PassManagers.h diff -u llvm/include/llvm/PassManagers.h:1.14 llvm/include/llvm/PassManagers.h:1.15 --- llvm/include/llvm/PassManagers.h:1.14 Tue Mar 6 11:52:53 2007 +++ llvm/include/llvm/PassManagers.h Fri Mar 23 13:44:11 2007 @@ -137,7 +137,7 @@ /// then return NULL. Pass *findAnalysisPass(AnalysisID AID); - PMTopLevelManager(enum TopLevelManagerType t); + explicit PMTopLevelManager(enum TopLevelManagerType t); virtual ~PMTopLevelManager(); /// Add immutable pass and initialize it. @@ -198,7 +198,7 @@ class PMDataManager { public: - PMDataManager(int Depth) : TPM(NULL), Depth(Depth) { + explicit PMDataManager(int Depth) : TPM(NULL), Depth(Depth) { initializeAnalysisInfo(); } @@ -321,7 +321,7 @@ class FPPassManager : public ModulePass, public PMDataManager { public: - FPPassManager(int Depth) : PMDataManager(Depth) { } + explicit FPPassManager(int Depth) : PMDataManager(Depth) { } /// run - Execute all of the passes scheduled for execution. Keep track of /// whether any of the passes modifies the module, and if so, return true. Index: llvm/include/llvm/PassSupport.h diff -u llvm/include/llvm/PassSupport.h:1.36 llvm/include/llvm/PassSupport.h:1.37 --- llvm/include/llvm/PassSupport.h:1.36 Fri Dec 1 17:46:50 2006 +++ llvm/include/llvm/PassSupport.h Fri Mar 23 13:44:11 2007 @@ -193,20 +193,20 @@ const PassInfo *ImplementationInfo; bool isDefaultImplementation; protected: - RegisterAGBase(const std::type_info &Interface, - const std::type_info *Pass = 0, - bool isDefault = false); + explicit RegisterAGBase(const std::type_info &Interface, + const std::type_info *Pass = 0, + bool isDefault = false); void setGroupName(const char *Name); }; template<typename Interface, bool Default = false> struct RegisterAnalysisGroup : public RegisterAGBase { - RegisterAnalysisGroup(RegisterPassBase &RPB) + explicit RegisterAnalysisGroup(RegisterPassBase &RPB) : RegisterAGBase(typeid(Interface), &RPB.getPassInfo()->getTypeInfo(), Default) { } - RegisterAnalysisGroup(const char *Name) + explicit RegisterAnalysisGroup(const char *Name) : RegisterAGBase(typeid(Interface)) { setGroupName(Name); } Index: llvm/include/llvm/Type.h diff -u llvm/include/llvm/Type.h:1.104 llvm/include/llvm/Type.h:1.105 --- llvm/include/llvm/Type.h:1.104 Wed Feb 14 20:26:09 2007 +++ llvm/include/llvm/Type.h Fri Mar 23 13:44:11 2007 @@ -103,8 +103,8 @@ const Type *getForwardedTypeInternal() const; protected: Type(const char *Name, TypeID id); - Type(TypeID id) : ID(id), Abstract(false), SubclassData(0), RefCount(0), - ForwardType(0) {} + explicit Type(TypeID id) : ID(id), Abstract(false), SubclassData(0), + RefCount(0), ForwardType(0) {} virtual ~Type() { assert(AbstractTypeUsers.empty()); } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits