Mark constructors, destructors, and operator new commented as 'do not implement' with LLVM_DELETED_FUNCTION instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164091 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Craig Topper 2012-09-18 02:05:45 +00:00
parent c2945e44d5
commit 0cb0a35337
5 changed files with 43 additions and 43 deletions

View File

@ -49,8 +49,8 @@ struct ConvertConstantType;
/// @brief Class for constant integers. /// @brief Class for constant integers.
class ConstantInt : public Constant { class ConstantInt : public Constant {
virtual void anchor(); virtual void anchor();
void *operator new(size_t, unsigned); // DO NOT IMPLEMENT void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
ConstantInt(const ConstantInt &); // DO NOT IMPLEMENT ConstantInt(const ConstantInt &) LLVM_DELETED_FUNCTION;
ConstantInt(IntegerType *Ty, const APInt& V); ConstantInt(IntegerType *Ty, const APInt& V);
APInt Val; APInt Val;
protected: protected:
@ -234,8 +234,8 @@ public:
class ConstantFP : public Constant { class ConstantFP : public Constant {
APFloat Val; APFloat Val;
virtual void anchor(); virtual void anchor();
void *operator new(size_t, unsigned);// DO NOT IMPLEMENT void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
ConstantFP(const ConstantFP &); // DO NOT IMPLEMENT ConstantFP(const ConstantFP &) LLVM_DELETED_FUNCTION;
friend class LLVMContextImpl; friend class LLVMContextImpl;
protected: protected:
ConstantFP(Type *Ty, const APFloat& V); ConstantFP(Type *Ty, const APFloat& V);
@ -301,8 +301,8 @@ public:
/// ConstantAggregateZero - All zero aggregate value /// ConstantAggregateZero - All zero aggregate value
/// ///
class ConstantAggregateZero : public Constant { class ConstantAggregateZero : public Constant {
void *operator new(size_t, unsigned); // DO NOT IMPLEMENT void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
ConstantAggregateZero(const ConstantAggregateZero &); // DO NOT IMPLEMENT ConstantAggregateZero(const ConstantAggregateZero &) LLVM_DELETED_FUNCTION;
protected: protected:
explicit ConstantAggregateZero(Type *ty) explicit ConstantAggregateZero(Type *ty)
: Constant(ty, ConstantAggregateZeroVal, 0, 0) {} : Constant(ty, ConstantAggregateZeroVal, 0, 0) {}
@ -346,7 +346,7 @@ public:
/// ///
class ConstantArray : public Constant { class ConstantArray : public Constant {
friend struct ConstantArrayCreator<ConstantArray, ArrayType>; friend struct ConstantArrayCreator<ConstantArray, ArrayType>;
ConstantArray(const ConstantArray &); // DO NOT IMPLEMENT ConstantArray(const ConstantArray &) LLVM_DELETED_FUNCTION;
protected: protected:
ConstantArray(ArrayType *T, ArrayRef<Constant *> Val); ConstantArray(ArrayType *T, ArrayRef<Constant *> Val);
public: public:
@ -385,7 +385,7 @@ DEFINE_TRANSPARENT_OPERAND_ACCESSORS(ConstantArray, Constant)
// //
class ConstantStruct : public Constant { class ConstantStruct : public Constant {
friend struct ConstantArrayCreator<ConstantStruct, StructType>; friend struct ConstantArrayCreator<ConstantStruct, StructType>;
ConstantStruct(const ConstantStruct &); // DO NOT IMPLEMENT ConstantStruct(const ConstantStruct &) LLVM_DELETED_FUNCTION;
protected: protected:
ConstantStruct(StructType *T, ArrayRef<Constant *> Val); ConstantStruct(StructType *T, ArrayRef<Constant *> Val);
public: public:
@ -445,7 +445,7 @@ DEFINE_TRANSPARENT_OPERAND_ACCESSORS(ConstantStruct, Constant)
/// ///
class ConstantVector : public Constant { class ConstantVector : public Constant {
friend struct ConstantArrayCreator<ConstantVector, VectorType>; friend struct ConstantArrayCreator<ConstantVector, VectorType>;
ConstantVector(const ConstantVector &); // DO NOT IMPLEMENT ConstantVector(const ConstantVector &) LLVM_DELETED_FUNCTION;
protected: protected:
ConstantVector(VectorType *T, ArrayRef<Constant *> Val); ConstantVector(VectorType *T, ArrayRef<Constant *> Val);
public: public:
@ -491,8 +491,8 @@ DEFINE_TRANSPARENT_OPERAND_ACCESSORS(ConstantVector, Constant)
/// ConstantPointerNull - a constant pointer value that points to null /// ConstantPointerNull - a constant pointer value that points to null
/// ///
class ConstantPointerNull : public Constant { class ConstantPointerNull : public Constant {
void *operator new(size_t, unsigned); // DO NOT IMPLEMENT void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
ConstantPointerNull(const ConstantPointerNull &); // DO NOT IMPLEMENT ConstantPointerNull(const ConstantPointerNull &) LLVM_DELETED_FUNCTION;
protected: protected:
explicit ConstantPointerNull(PointerType *T) explicit ConstantPointerNull(PointerType *T)
: Constant(reinterpret_cast<Type*>(T), : Constant(reinterpret_cast<Type*>(T),
@ -543,8 +543,8 @@ class ConstantDataSequential : public Constant {
/// element array of i8, or a 1-element array of i32. They'll both end up in /// element array of i8, or a 1-element array of i32. They'll both end up in
/// the same StringMap bucket, linked up. /// the same StringMap bucket, linked up.
ConstantDataSequential *Next; ConstantDataSequential *Next;
void *operator new(size_t, unsigned); // DO NOT IMPLEMENT void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
ConstantDataSequential(const ConstantDataSequential &); // DO NOT IMPLEMENT ConstantDataSequential(const ConstantDataSequential &) LLVM_DELETED_FUNCTION;
protected: protected:
explicit ConstantDataSequential(Type *ty, ValueTy VT, const char *Data) explicit ConstantDataSequential(Type *ty, ValueTy VT, const char *Data)
: Constant(ty, VT, 0, 0), DataElements(Data), Next(0) {} : Constant(ty, VT, 0, 0), DataElements(Data), Next(0) {}
@ -655,8 +655,8 @@ private:
/// operands because it stores all of the elements of the constant as densely /// operands because it stores all of the elements of the constant as densely
/// packed data, instead of as Value*'s. /// packed data, instead of as Value*'s.
class ConstantDataArray : public ConstantDataSequential { class ConstantDataArray : public ConstantDataSequential {
void *operator new(size_t, unsigned); // DO NOT IMPLEMENT void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
ConstantDataArray(const ConstantDataArray &); // DO NOT IMPLEMENT ConstantDataArray(const ConstantDataArray &) LLVM_DELETED_FUNCTION;
virtual void anchor(); virtual void anchor();
friend class ConstantDataSequential; friend class ConstantDataSequential;
explicit ConstantDataArray(Type *ty, const char *Data) explicit ConstantDataArray(Type *ty, const char *Data)
@ -708,8 +708,8 @@ public:
/// operands because it stores all of the elements of the constant as densely /// operands because it stores all of the elements of the constant as densely
/// packed data, instead of as Value*'s. /// packed data, instead of as Value*'s.
class ConstantDataVector : public ConstantDataSequential { class ConstantDataVector : public ConstantDataSequential {
void *operator new(size_t, unsigned); // DO NOT IMPLEMENT void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
ConstantDataVector(const ConstantDataVector &); // DO NOT IMPLEMENT ConstantDataVector(const ConstantDataVector &) LLVM_DELETED_FUNCTION;
virtual void anchor(); virtual void anchor();
friend class ConstantDataSequential; friend class ConstantDataSequential;
explicit ConstantDataVector(Type *ty, const char *Data) explicit ConstantDataVector(Type *ty, const char *Data)
@ -760,7 +760,7 @@ public:
/// BlockAddress - The address of a basic block. /// BlockAddress - The address of a basic block.
/// ///
class BlockAddress : public Constant { class BlockAddress : public Constant {
void *operator new(size_t, unsigned); // DO NOT IMPLEMENT void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
void *operator new(size_t s) { return User::operator new(s, 2); } void *operator new(size_t s) { return User::operator new(s, 2); }
BlockAddress(Function *F, BasicBlock *BB); BlockAddress(Function *F, BasicBlock *BB);
public: public:
@ -1125,8 +1125,8 @@ DEFINE_TRANSPARENT_OPERAND_ACCESSORS(ConstantExpr, Constant)
/// LangRef.html#undefvalues for details. /// LangRef.html#undefvalues for details.
/// ///
class UndefValue : public Constant { class UndefValue : public Constant {
void *operator new(size_t, unsigned); // DO NOT IMPLEMENT void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
UndefValue(const UndefValue &); // DO NOT IMPLEMENT UndefValue(const UndefValue &) LLVM_DELETED_FUNCTION;
protected: protected:
explicit UndefValue(Type *T) : Constant(T, UndefValueVal, 0, 0) {} explicit UndefValue(Type *T) : Constant(T, UndefValueVal, 0, 0) {}
protected: protected:

View File

@ -1052,7 +1052,7 @@ public:
private: private:
// Provided to resolve 'CreateIntCast(Ptr, Ptr, "...")', giving a compile time // Provided to resolve 'CreateIntCast(Ptr, Ptr, "...")', giving a compile time
// error, instead of converting the string to bool for the isSigned parameter. // error, instead of converting the string to bool for the isSigned parameter.
Value *CreateIntCast(Value *, Type *, const char *); // DO NOT IMPLEMENT Value *CreateIntCast(Value *, Type *, const char *) LLVM_DELETED_FUNCTION;
public: public:
Value *CreateFPCast(Value *V, Type *DestTy, const Twine &Name = "") { Value *CreateFPCast(Value *V, Type *DestTy, const Twine &Name = "") {
if (V->getType() == DestTy) if (V->getType() == DestTy)

View File

@ -88,7 +88,7 @@ public:
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
class UnaryInstruction : public Instruction { class UnaryInstruction : public Instruction {
void *operator new(size_t, unsigned); // Do not implement void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
protected: protected:
UnaryInstruction(Type *Ty, unsigned iType, Value *V, UnaryInstruction(Type *Ty, unsigned iType, Value *V,
@ -138,7 +138,7 @@ DEFINE_TRANSPARENT_OPERAND_ACCESSORS(UnaryInstruction, Value)
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
class BinaryOperator : public Instruction { class BinaryOperator : public Instruction {
void *operator new(size_t, unsigned); // Do not implement void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
protected: protected:
void init(BinaryOps iType); void init(BinaryOps iType);
BinaryOperator(BinaryOps iType, Value *S1, Value *S2, Type *Ty, BinaryOperator(BinaryOps iType, Value *S1, Value *S2, Type *Ty,
@ -627,8 +627,8 @@ public:
/// This class is the base class for the comparison instructions. /// This class is the base class for the comparison instructions.
/// @brief Abstract base class of comparison instructions. /// @brief Abstract base class of comparison instructions.
class CmpInst : public Instruction { class CmpInst : public Instruction {
void *operator new(size_t, unsigned); // DO NOT IMPLEMENT void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
CmpInst(); // do not implement CmpInst() LLVM_DELETED_FUNCTION;
protected: protected:
CmpInst(Type *ty, Instruction::OtherOps op, unsigned short pred, CmpInst(Type *ty, Instruction::OtherOps op, unsigned short pred,
Value *LHS, Value *RHS, const Twine &Name = "", Value *LHS, Value *RHS, const Twine &Name = "",

View File

@ -32,10 +32,10 @@ class Operator : public User {
private: private:
// Do not implement any of these. The Operator class is intended to be used // Do not implement any of these. The Operator class is intended to be used
// as a utility, and is never itself instantiated. // as a utility, and is never itself instantiated.
void *operator new(size_t, unsigned); void *operator new(size_t, unsigned) LLVM_DELETED_FUNCTION;
void *operator new(size_t s); void *operator new(size_t s) LLVM_DELETED_FUNCTION;
Operator(); Operator() LLVM_DELETED_FUNCTION;
~Operator(); ~Operator() LLVM_DELETED_FUNCTION;
public: public:
/// getOpcode - Return the opcode for this Instruction or ConstantExpr. /// getOpcode - Return the opcode for this Instruction or ConstantExpr.
@ -77,7 +77,7 @@ public:
}; };
private: private:
~OverflowingBinaryOperator(); // do not implement ~OverflowingBinaryOperator() LLVM_DELETED_FUNCTION;
friend class BinaryOperator; friend class BinaryOperator;
friend class ConstantExpr; friend class ConstantExpr;
@ -131,7 +131,7 @@ public:
}; };
private: private:
~PossiblyExactOperator(); // do not implement ~PossiblyExactOperator() LLVM_DELETED_FUNCTION;
friend class BinaryOperator; friend class BinaryOperator;
friend class ConstantExpr; friend class ConstantExpr;
@ -168,7 +168,7 @@ public:
/// information about relaxed accuracy requirements attached to them. /// information about relaxed accuracy requirements attached to them.
class FPMathOperator : public Operator { class FPMathOperator : public Operator {
private: private:
~FPMathOperator(); // do not implement ~FPMathOperator() LLVM_DELETED_FUNCTION;
public: public:
@ -191,7 +191,7 @@ public:
/// opcodes. /// opcodes.
template<typename SuperClass, unsigned Opc> template<typename SuperClass, unsigned Opc>
class ConcreteOperator : public SuperClass { class ConcreteOperator : public SuperClass {
~ConcreteOperator(); // DO NOT IMPLEMENT ~ConcreteOperator() LLVM_DELETED_FUNCTION;
public: public:
static inline bool classof(const ConcreteOperator<SuperClass, Opc> *) { static inline bool classof(const ConcreteOperator<SuperClass, Opc> *) {
return true; return true;
@ -210,44 +210,44 @@ public:
class AddOperator class AddOperator
: public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> { : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {
~AddOperator(); // DO NOT IMPLEMENT ~AddOperator() LLVM_DELETED_FUNCTION;
}; };
class SubOperator class SubOperator
: public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> { : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {
~SubOperator(); // DO NOT IMPLEMENT ~SubOperator() LLVM_DELETED_FUNCTION;
}; };
class MulOperator class MulOperator
: public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> { : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {
~MulOperator(); // DO NOT IMPLEMENT ~MulOperator() LLVM_DELETED_FUNCTION;
}; };
class ShlOperator class ShlOperator
: public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> { : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {
~ShlOperator(); // DO NOT IMPLEMENT ~ShlOperator() LLVM_DELETED_FUNCTION;
}; };
class SDivOperator class SDivOperator
: public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> { : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {
~SDivOperator(); // DO NOT IMPLEMENT ~SDivOperator() LLVM_DELETED_FUNCTION;
}; };
class UDivOperator class UDivOperator
: public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> { : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {
~UDivOperator(); // DO NOT IMPLEMENT ~UDivOperator() LLVM_DELETED_FUNCTION;
}; };
class AShrOperator class AShrOperator
: public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> { : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {
~AShrOperator(); // DO NOT IMPLEMENT ~AShrOperator() LLVM_DELETED_FUNCTION;
}; };
class LShrOperator class LShrOperator
: public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> { : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {
~LShrOperator(); // DO NOT IMPLEMENT ~LShrOperator() LLVM_DELETED_FUNCTION;
}; };
class GEPOperator class GEPOperator
: public ConcreteOperator<Operator, Instruction::GetElementPtr> { : public ConcreteOperator<Operator, Instruction::GetElementPtr> {
~GEPOperator(); // DO NOT IMPLEMENT ~GEPOperator() LLVM_DELETED_FUNCTION;
enum { enum {
IsInBounds = (1 << 0) IsInBounds = (1 << 0)

View File

@ -120,7 +120,7 @@ public:
class PMDataManager; class PMDataManager;
class AnalysisResolver { class AnalysisResolver {
private: private:
AnalysisResolver(); // DO NOT IMPLEMENT AnalysisResolver() LLVM_DELETED_FUNCTION;
public: public:
explicit AnalysisResolver(PMDataManager &P) : PM(P) { } explicit AnalysisResolver(PMDataManager &P) : PM(P) { }