Unverified Commit 6f7d6fa4 by Tianqi Chen Committed by GitHub

[LINT] Fix -Wextra (#4804)

* [LINT] Fix -Wextra

* Fix virtual-dtor
parent 974195de
...@@ -222,6 +222,8 @@ class BaseAttrsNode : public Object { ...@@ -222,6 +222,8 @@ class BaseAttrsNode : public Object {
public: public:
using TVMArgs = runtime::TVMArgs; using TVMArgs = runtime::TVMArgs;
using TVMRetValue = runtime::TVMRetValue; using TVMRetValue = runtime::TVMRetValue;
/*! \brief virtual destructor */
virtual ~BaseAttrsNode() {}
// visit function // visit function
virtual void VisitAttrs(AttrVisitor* v) {} virtual void VisitAttrs(AttrVisitor* v) {}
/*! /*!
......
...@@ -192,7 +192,7 @@ class Op : public RelayExpr { ...@@ -192,7 +192,7 @@ class Op : public RelayExpr {
* \param key The attribute key * \param key The attribute key
* \return bool True if the key is present * \return bool True if the key is present
*/ */
TVM_DLL static const bool HasGenericAttr(const std::string& key); TVM_DLL static bool HasGenericAttr(const std::string& key);
}; };
/*! /*!
......
...@@ -76,6 +76,8 @@ class TypeCall : public Type { ...@@ -76,6 +76,8 @@ class TypeCall : public Type {
*/ */
class TypeReporterNode : public Object { class TypeReporterNode : public Object {
public: public:
/*! \brief virtual destructor */
virtual ~TypeReporterNode() {}
/*! /*!
* \brief Create a type equality constraint. * \brief Create a type equality constraint.
* *
......
...@@ -150,14 +150,14 @@ class Array : public ObjectRef { ...@@ -150,14 +150,14 @@ class Array : public ObjectRef {
* \brief move constructor * \brief move constructor
* \param other source * \param other source
*/ */
Array(Array<T> && other) { // NOLINT(*) Array(Array<T> && other) : ObjectRef() { // NOLINT(*)
data_ = std::move(other.data_); data_ = std::move(other.data_);
} }
/*! /*!
* \brief copy constructor * \brief copy constructor
* \param other source * \param other source
*/ */
Array(const Array<T> &other) { // NOLINT(*) Array(const Array<T> &other) : ObjectRef() { // NOLINT(*)
data_ = std::move(other.data_); data_ = std::move(other.data_);
} }
/*! /*!
......
...@@ -526,6 +526,8 @@ class RefWrite : public Expr { ...@@ -526,6 +526,8 @@ class RefWrite : public Expr {
*/ */
class TempExprNode : public ExprNode { class TempExprNode : public ExprNode {
public: public:
/*! \brief virtual destructor */
virtual ~TempExprNode() {}
/*! /*!
* \brief Convert the expression to a normal(non-temp) Expr. * \brief Convert the expression to a normal(non-temp) Expr.
* \return The corresponding normal(non-temp) expression. * \return The corresponding normal(non-temp) expression.
......
...@@ -649,13 +649,13 @@ struct ObjectEqual { ...@@ -649,13 +649,13 @@ struct ObjectEqual {
*/ */
#define TVM_DECLARE_BASE_OBJECT_INFO(TypeName, ParentType) \ #define TVM_DECLARE_BASE_OBJECT_INFO(TypeName, ParentType) \
static_assert(!ParentType::_type_final, "ParentObj maked as final"); \ static_assert(!ParentType::_type_final, "ParentObj maked as final"); \
static const uint32_t RuntimeTypeIndex() { \ static uint32_t RuntimeTypeIndex() { \
if (TypeName::_type_index != ::tvm::runtime::TypeIndex::kDynamic) { \ if (TypeName::_type_index != ::tvm::runtime::TypeIndex::kDynamic) { \
return TypeName::_type_index; \ return TypeName::_type_index; \
} \ } \
return _GetOrAllocRuntimeTypeIndex(); \ return _GetOrAllocRuntimeTypeIndex(); \
} \ } \
static const uint32_t _GetOrAllocRuntimeTypeIndex() { \ static uint32_t _GetOrAllocRuntimeTypeIndex() { \
static uint32_t tidx = Object::GetOrAllocRuntimeTypeIndex( \ static uint32_t tidx = Object::GetOrAllocRuntimeTypeIndex( \
TypeName::_type_key, \ TypeName::_type_key, \
TypeName::_type_index, \ TypeName::_type_index, \
......
...@@ -731,6 +731,8 @@ class LetNode : public PrimExprNode { ...@@ -731,6 +731,8 @@ class LetNode : public PrimExprNode {
/*! \brief Base node of internal functions. */ /*! \brief Base node of internal functions. */
class FunctionBaseNode : public Object { class FunctionBaseNode : public Object {
public: public:
/*! \brief virtual destructor */
virtual ~FunctionBaseNode() {}
/*! \return the name of the function */ /*! \return the name of the function */
virtual const std::string& func_name() const = 0; virtual const std::string& func_name() const = 0;
/*! \return the number of outputs of this function */ /*! \return the number of outputs of this function */
......
...@@ -60,6 +60,8 @@ class AttrFunctor<R(const ObjectRef& n, Args...)> { ...@@ -60,6 +60,8 @@ class AttrFunctor<R(const ObjectRef& n, Args...)> {
public: public:
/*! \brief the result type of this functor */ /*! \brief the result type of this functor */
using result_type = R; using result_type = R;
/*! \brief virtual destructor */
virtual ~AttrFunctor() {}
/*! /*!
* \brief The functor call. * \brief The functor call.
* \param n The expression node. * \param n The expression node.
......
...@@ -87,7 +87,7 @@ const GenericOpMap& Op::GetGenericAttr(const std::string& key) { ...@@ -87,7 +87,7 @@ const GenericOpMap& Op::GetGenericAttr(const std::string& key) {
} }
// Check if a key is present in the registry. // Check if a key is present in the registry.
const bool Op::HasGenericAttr(const std::string& key) { bool Op::HasGenericAttr(const std::string& key) {
OpManager* mgr = OpManager::Global(); OpManager* mgr = OpManager::Global();
std::lock_guard<std::mutex> lock(mgr->mutex); std::lock_guard<std::mutex> lock(mgr->mutex);
auto it = mgr->attr.find(key); auto it = mgr->attr.find(key);
......
...@@ -171,6 +171,8 @@ class CCacheValue : public ObjectRef { ...@@ -171,6 +171,8 @@ class CCacheValue : public ObjectRef {
*/ */
class CompileEngineNode : public Object { class CompileEngineNode : public Object {
public: public:
/*! \brief destructor */
virtual ~CompileEngineNode() {}
/*! /*!
* \brief Get lowered result. * \brief Get lowered result.
* \param key The key to the cached function. * \param key The key to the cached function.
......
...@@ -38,6 +38,7 @@ namespace contrib { ...@@ -38,6 +38,7 @@ namespace contrib {
class CSourceModuleCodegenBase { class CSourceModuleCodegenBase {
public: public:
CSourceModuleCodegenBase() = default; CSourceModuleCodegenBase() = default;
virtual ~CSourceModuleCodegenBase() = default;
/*! /*!
* \brief Create a runtime module for the external library. For example, it * \brief Create a runtime module for the external library. For example, it
...@@ -69,6 +70,9 @@ class CSourceModuleCodegenBase { ...@@ -69,6 +70,9 @@ class CSourceModuleCodegenBase {
// The base class to generate the declaration functions in C. // The base class to generate the declaration functions in C.
class CodegenCBase { class CodegenCBase {
public:
virtual ~CodegenCBase() {}
protected: protected:
/*! \brief Print indents using spaces. */ /*! \brief Print indents using spaces. */
void PrintIndents() { void PrintIndents() {
......
...@@ -126,6 +126,8 @@ class BranchGroupFinder : private ExprVisitor { ...@@ -126,6 +126,8 @@ class BranchGroupFinder : private ExprVisitor {
*/ */
class ParallelOpCombiner { class ParallelOpCombiner {
public: public:
/*! \brief virtual destructor */
virtual ~ParallelOpCombiner() {}
/* /*
* \brief Constructor. * \brief Constructor.
* \param op_name name of op to combine * \param op_name name of op to combine
......
...@@ -275,6 +275,7 @@ class Fuel : public ObjectRef { ...@@ -275,6 +275,7 @@ class Fuel : public ObjectRef {
class FuelNode : public RelayNode { class FuelNode : public RelayNode {
public: public:
virtual ~FuelNode() {}
// Please implement one of the following function or there will be infinite loop. // Please implement one of the following function or there will be infinite loop.
/*! \brief return the new Fuel, and whether progress is made. /*! \brief return the new Fuel, and whether progress is made.
* *
......
...@@ -70,6 +70,8 @@ class TransformMemorizer : public ObjectRef { ...@@ -70,6 +70,8 @@ class TransformMemorizer : public ObjectRef {
TransformMemorizer() {} TransformMemorizer() {}
explicit TransformMemorizer(ObjectPtr<Object> n) : ObjectRef(n) {} explicit TransformMemorizer(ObjectPtr<Object> n) : ObjectRef(n) {}
virtual ~TransformMemorizer() {}
TransformMemorizerNode* operator->() { TransformMemorizerNode* operator->() {
return static_cast<TransformMemorizerNode*>(get_mutable()); return static_cast<TransformMemorizerNode*>(get_mutable());
} }
......
...@@ -45,7 +45,7 @@ static inline Array<IndexExpr> get_shape(const Type& type) { ...@@ -45,7 +45,7 @@ static inline Array<IndexExpr> get_shape(const Type& type) {
return input_tt->shape; return input_tt->shape;
} }
static inline const int32_t GetQmin(const DataType& dtype) { static inline int32_t GetQmin(const DataType& dtype) {
CHECK_LE(dtype.bits(), 32) CHECK_LE(dtype.bits(), 32)
<< "QNN ops support int32 or lower precision"; << "QNN ops support int32 or lower precision";
if (dtype.is_int() || dtype.is_uint()) { if (dtype.is_int() || dtype.is_uint()) {
...@@ -58,7 +58,7 @@ static inline const int32_t GetQmin(const DataType& dtype) { ...@@ -58,7 +58,7 @@ static inline const int32_t GetQmin(const DataType& dtype) {
} }
} }
static inline const int32_t GetQmax(const DataType& dtype) { static inline int32_t GetQmax(const DataType& dtype) {
CHECK_LE(dtype.bits(), 32) CHECK_LE(dtype.bits(), 32)
<< "QNN ops support int32 or lower precision"; << "QNN ops support int32 or lower precision";
if (dtype.is_int() || dtype.is_uint()) { if (dtype.is_int() || dtype.is_uint()) {
......
...@@ -40,6 +40,8 @@ namespace runtime { ...@@ -40,6 +40,8 @@ namespace runtime {
*/ */
class Library : public Object { class Library : public Object {
public: public:
// destructor.
virtual ~Library() {}
/*! /*!
* \brief Get the symbol address for a given name. * \brief Get the symbol address for a given name.
* \param name The name of the symbol. * \param name The name of the symbol.
......
...@@ -190,6 +190,7 @@ void CodeGenCUDA::PrintType(DataType t, std::ostream& os) { // NOLINT(*) ...@@ -190,6 +190,7 @@ void CodeGenCUDA::PrintType(DataType t, std::ostream& os) { // NOLINT(*)
} else { } else {
// No longlong3, longlong4 // No longlong3, longlong4
LOG(FATAL) << "Cannot convert type " << t << " to CUDA type on a L32 platform"; LOG(FATAL) << "Cannot convert type " << t << " to CUDA type on a L32 platform";
break;
} }
} else { } else {
os << "long"; break; os << "long"; break;
......
...@@ -314,7 +314,7 @@ class UopKernel { ...@@ -314,7 +314,7 @@ class UopKernel {
template <class T> template <class T>
class BaseQueue { class BaseQueue {
public: public:
~BaseQueue() { virtual ~BaseQueue() {
if (fpga_buff_ != nullptr) { if (fpga_buff_ != nullptr) {
VTAMemFree(fpga_buff_); VTAMemFree(fpga_buff_);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment