forked from github/verilator
Internals: Use C++11 = default where obvious. No functional change intended.
This commit is contained in:
parent
70b3a599ce
commit
1b0a48ea02
@ -1,4 +1,4 @@
|
||||
Checks: 'clang-diagnostic-*,clang-analyzer-*,*,-modernize*,-hicpp*,-android-cloexec-fopen,-cert-dcl50-cpp,-cert-env33-c,-cert-err34-c,-cert-err58-cpp,-clang-analyzer-core.UndefinedBinaryOperatorResult,-clang-analyzer-security*,-cppcoreguidelines-no-malloc,-cppcoreguidelines-owning-memory,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-bounds-constant-array-index,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-cppcoreguidelines-pro-type-const-cast,-cppcoreguidelines-pro-type-reinterpret-cast,-cppcoreguidelines-pro-type-static-cast-downcast,-cppcoreguidelines-pro-type-union-access,-cppcoreguidelines-pro-type-vararg,-cppcoreguidelines-special-member-functions,-fuchsia-default-arguments,-fuchsia-overloaded-operator,-google-default-arguments,-google-readability-todo,-google-runtime-references,-llvm-header-guard,-llvm-include-order,-misc-string-integer-assignment,-misc-string-literal-with-embedded-nul,-readability-braces-around-statements,-readability-container-size-empty,-readability-delete-null-pointer,-readability-else-after-return,-readability-implicit-bool-conversion,-readability-named-parameter,-readability-static-accessed-through-instance'
|
||||
Checks: '*,-hicpp*,-android-cloexec-fopen,-cert-dcl50-cpp,-cert-env33-c,-cert-err34-c,-cert-err58-cpp,-clang-analyzer-core.UndefinedBinaryOperatorResult,-clang-analyzer-security*,-cppcoreguidelines-avoid-magic-numbers,-cppcoreguidelines-no-malloc,-cppcoreguidelines-owning-memory,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-bounds-constant-array-index,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-cppcoreguidelines-pro-type-const-cast,-cppcoreguidelines-pro-type-reinterpret-cast,-cppcoreguidelines-pro-type-static-cast-downcast,-cppcoreguidelines-pro-type-union-access,-cppcoreguidelines-pro-type-vararg,-cppcoreguidelines-special-member-functions,-fuchsia-*,-google-default-arguments,-google-readability-todo,-google-runtime-references,-llvm-header-guard,-llvm-include-order,-misc-string-integer-assignment,-misc-string-literal-with-embedded-nul,-modernize-use-auto,-modernize-use-trailing-return-type,-readability-braces-around-statements,-readability-container-size-empty,-readability-delete-null-pointer,-readability-else-after-return,-readability-implicit-bool-conversion,-readability-named-parameter,-readability-static-accessed-through-instance'
|
||||
WarningsAsErrors: ''
|
||||
HeaderFilterRegex: ''
|
||||
FormatStyle: none
|
||||
|
@ -445,12 +445,13 @@ CLANGTIDY = clang-tidy
|
||||
CLANGTIDY_FLAGS = -config='' -checks='-fuchsia-*,-cppcoreguidelines-avoid-c-arrays,-cppcoreguidelines-init-variables'
|
||||
CLANGTIDY_DEP = $(subst .h,.h.tidy,$(CPPCHECK_H)) \
|
||||
$(subst .cpp,.cpp.tidy,$(CPPCHECK_CPP))
|
||||
CLANGTIDY_DEFS = -DVL_DEBUG=1 -DVL_THREADED=1 -DVL_CPPCHECK=1
|
||||
|
||||
clang-tidy: $(CLANGTIDY_DEP)
|
||||
%.cpp.tidy: %.cpp
|
||||
$(CLANGTIDY) $(CLANGTIDY_FLAGS) $< -- -DVL_DEBUG=1 -DVL_CPPCHECK=1 $(CPPCHECK_INC) | 2>&1 tee $@
|
||||
$(CLANGTIDY) $(CLANGTIDY_FLAGS) $< -- $(CLANGTIDY_DEFS) $(CPPCHECK_INC) | 2>&1 tee $@
|
||||
%.h.tidy: %.h
|
||||
$(CLANGTIDY) $(CLANGTIDY_FLAGS) $< -- -DVL_DEBUG=1 -DVL_CPPCHECK=1 $(CPPCHECK_INC) | 2>&1 tee $@
|
||||
$(CLANGTIDY) $(CLANGTIDY_FLAGS) $< -- $(CLANGTIDY_DEFS) $(CPPCHECK_INC) | 2>&1 tee $@
|
||||
|
||||
analyzer-src:
|
||||
-rm -rf src/obj_dbg
|
||||
|
@ -2202,9 +2202,6 @@ void VL_TIMEFORMAT_IINI(int units, int precision, const std::string& suffix,
|
||||
//===========================================================================
|
||||
// Verilated:: Methods
|
||||
|
||||
Verilated::ThreadLocal::ThreadLocal() {}
|
||||
Verilated::ThreadLocal::~ThreadLocal() {}
|
||||
|
||||
void Verilated::debug(int level) VL_MT_SAFE {
|
||||
const VerilatedLockGuard lock(m_mutex);
|
||||
s_s.s_debug = level;
|
||||
@ -2648,8 +2645,6 @@ void* VerilatedVarProps::datapAdjustIndex(void* datap, int dim, int indx) const
|
||||
//======================================================================
|
||||
// VerilatedScope:: Methods
|
||||
|
||||
VerilatedScope::VerilatedScope() {}
|
||||
|
||||
VerilatedScope::~VerilatedScope() {
|
||||
// Memory cleanup - not called during normal operation
|
||||
VerilatedImp::scopeErase(this);
|
||||
|
@ -133,8 +133,8 @@ class VL_CAPABILITY("mutex") VerilatedMutex {
|
||||
private:
|
||||
std::mutex m_mutex; // Mutex
|
||||
public:
|
||||
VerilatedMutex() {}
|
||||
~VerilatedMutex() {}
|
||||
VerilatedMutex() = default;
|
||||
~VerilatedMutex() = default;
|
||||
const VerilatedMutex& operator!() const { return *this; } // For -fthread_safety
|
||||
/// Acquire/lock mutex
|
||||
void lock() VL_ACQUIRE() {
|
||||
@ -186,7 +186,7 @@ class VerilatedLockGuard {
|
||||
|
||||
public:
|
||||
explicit VerilatedLockGuard(VerilatedMutex&) {}
|
||||
~VerilatedLockGuard() {}
|
||||
~VerilatedLockGuard() = default;
|
||||
void lock() {}
|
||||
void unlock() {}
|
||||
};
|
||||
@ -330,7 +330,7 @@ private:
|
||||
Type m_type = SCOPE_OTHER; ///< Type of the scope
|
||||
|
||||
public: // But internals only - called from VerilatedModule's
|
||||
VerilatedScope();
|
||||
VerilatedScope() = default;
|
||||
~VerilatedScope();
|
||||
void configure(VerilatedSyms* symsp, const char* prefixp, const char* suffixp,
|
||||
const char* identifier, vlsint8_t timeunit, const Type& type) VL_MT_UNSAFE;
|
||||
@ -387,7 +387,7 @@ class Verilated {
|
||||
int s_randReset; ///< Random reset: 0=all 0s, 1=all 1s, 2=random
|
||||
int s_randSeed; ///< Random seed: 0=random
|
||||
Serialized();
|
||||
~Serialized() {}
|
||||
~Serialized() = default;
|
||||
} s_s;
|
||||
|
||||
static struct NonSerialized { // Non-serialized information
|
||||
@ -407,8 +407,8 @@ class Verilated {
|
||||
VerilatedMutex m_argMutex; ///< Mutex for s_args members, when VL_THREADED
|
||||
int argc = 0;
|
||||
const char** argv = nullptr;
|
||||
CommandArgValues() {}
|
||||
~CommandArgValues() {}
|
||||
CommandArgValues() = default;
|
||||
~CommandArgValues() = default;
|
||||
} s_args;
|
||||
|
||||
// Not covered by mutex, as per-thread
|
||||
@ -422,8 +422,8 @@ class Verilated {
|
||||
const char* t_dpiFilename = nullptr; ///< DPI context filename
|
||||
int t_dpiLineno = 0; ///< DPI context line number
|
||||
|
||||
ThreadLocal();
|
||||
~ThreadLocal();
|
||||
ThreadLocal() = default;
|
||||
~ThreadLocal() = default;
|
||||
} t_s;
|
||||
|
||||
private:
|
||||
|
@ -52,7 +52,7 @@ public: // But only local to this file
|
||||
m_vals[i] = 0;
|
||||
}
|
||||
}
|
||||
virtual ~VerilatedCovImpItem() {}
|
||||
virtual ~VerilatedCovImpItem() = default;
|
||||
virtual vluint64_t count() const = 0;
|
||||
virtual void zero() const = 0;
|
||||
};
|
||||
@ -78,7 +78,7 @@ public:
|
||||
: m_countp{countp} {
|
||||
*m_countp = 0;
|
||||
}
|
||||
virtual ~VerilatedCoverItemSpec() override {}
|
||||
virtual ~VerilatedCoverItemSpec() override = default;
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
@ -105,7 +105,7 @@ private:
|
||||
int m_insertLineno VL_GUARDED_BY(m_mutex) = 0; ///< Line number about to insert
|
||||
|
||||
// CONSTRUCTORS
|
||||
VerilatedCovImp() {}
|
||||
VerilatedCovImp() = default;
|
||||
VL_UNCOPYABLE(VerilatedCovImp);
|
||||
|
||||
public:
|
||||
|
@ -108,10 +108,13 @@ private:
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
VlQueue() {
|
||||
// m_defaultValue isn't defaulted. Caller's constructor must do it.
|
||||
}
|
||||
~VlQueue() {}
|
||||
// m_defaultValue isn't defaulted. Caller's constructor must do it.
|
||||
VlQueue() = default;
|
||||
~VlQueue() = default;
|
||||
VlQueue(const VlQueue&) = default;
|
||||
VlQueue(VlQueue&&) = default;
|
||||
VlQueue& operator=(const VlQueue&) = default;
|
||||
VlQueue& operator=(VlQueue&&) = default;
|
||||
|
||||
// Standard copy constructor works. Verilog: assoca = assocb
|
||||
// Also must allow conversion from a different T_MaxSize queue
|
||||
@ -426,8 +429,13 @@ template <std::size_t T_Words> class VlWide {
|
||||
|
||||
public:
|
||||
// cppcheck-suppress uninitVar
|
||||
VlWide() {}
|
||||
~VlWide() {}
|
||||
VlWide() = default;
|
||||
~VlWide() = default;
|
||||
VlWide(const VlWide&) = default;
|
||||
VlWide(VlWide&&) = default;
|
||||
VlWide& operator=(const VlWide&) = default;
|
||||
VlWide& operator=(VlWide&&) = default;
|
||||
// METHODS
|
||||
const WData& at(size_t index) const { return m_storage[index]; }
|
||||
WData& at(size_t index) { return m_storage[index]; }
|
||||
WData* data() { return &m_storage[0]; }
|
||||
@ -467,11 +475,13 @@ private:
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
VlAssocArray() {
|
||||
// m_defaultValue isn't defaulted. Caller's constructor must do it.
|
||||
}
|
||||
~VlAssocArray() {}
|
||||
// Standard copy constructor works. Verilog: assoca = assocb
|
||||
// m_defaultValue isn't defaulted. Caller's constructor must do it.
|
||||
VlAssocArray() = default;
|
||||
~VlAssocArray() = default;
|
||||
VlAssocArray(const VlAssocArray&) = default;
|
||||
VlAssocArray(VlAssocArray&&) = default;
|
||||
VlAssocArray& operator=(const VlAssocArray&) = default;
|
||||
VlAssocArray& operator=(VlAssocArray&&) = default;
|
||||
|
||||
// METHODS
|
||||
T_Value& atDefault() { return m_defaultValue; }
|
||||
|
@ -64,7 +64,11 @@ public:
|
||||
VerilatedMsg(const std::function<void()>& cb)
|
||||
: m_mtaskId{Verilated::mtaskId()}
|
||||
, m_cb{cb} {}
|
||||
~VerilatedMsg() {}
|
||||
~VerilatedMsg() = default;
|
||||
VerilatedMsg(const VerilatedMsg&) = default;
|
||||
VerilatedMsg(VerilatedMsg&&) = default;
|
||||
VerilatedMsg& operator=(const VerilatedMsg&) = default;
|
||||
VerilatedMsg& operator=(VerilatedMsg&&) = default;
|
||||
// METHODS
|
||||
vluint32_t mtaskId() const { return m_mtaskId; }
|
||||
/// Execute the lambda function
|
||||
@ -87,7 +91,7 @@ public:
|
||||
: m_depth{0} {
|
||||
assert(atomic_is_lock_free(&m_depth));
|
||||
}
|
||||
~VerilatedEvalMsgQueue() {}
|
||||
~VerilatedEvalMsgQueue() = default;
|
||||
|
||||
private:
|
||||
VL_UNCOPYABLE(VerilatedEvalMsgQueue);
|
||||
@ -207,8 +211,8 @@ protected:
|
||||
int m_timeFormatPrecision = 0; // $timeformat number of decimal places
|
||||
int m_timeFormatWidth = 20; // $timeformat character width
|
||||
enum { UNITS_NONE = 99 }; // Default based on precision
|
||||
Serialized() {}
|
||||
~Serialized() {}
|
||||
Serialized() = default;
|
||||
~Serialized() = default;
|
||||
} m_ser;
|
||||
|
||||
VerilatedMutex m_sergMutex; ///< Protect m_ser
|
||||
@ -275,8 +279,8 @@ protected:
|
||||
|
||||
public: // But only for verilated*.cpp
|
||||
// CONSTRUCTORS
|
||||
VerilatedImp() {}
|
||||
~VerilatedImp() {}
|
||||
VerilatedImp() = default;
|
||||
~VerilatedImp() = default;
|
||||
static void setup();
|
||||
static void teardown();
|
||||
|
||||
|
@ -160,7 +160,7 @@ private:
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
VerilatedSave() {}
|
||||
VerilatedSave() = default;
|
||||
virtual ~VerilatedSave() override { close(); }
|
||||
// METHODS
|
||||
/// Open the file; call isOpen() to see if errors
|
||||
@ -180,7 +180,7 @@ private:
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
VerilatedRestore() {}
|
||||
VerilatedRestore() = default;
|
||||
virtual ~VerilatedRestore() override { close(); }
|
||||
|
||||
// METHODS
|
||||
|
@ -43,7 +43,7 @@ class VerilatedRange {
|
||||
protected:
|
||||
friend class VerilatedVarProps;
|
||||
friend class VerilatedScope;
|
||||
VerilatedRange() {}
|
||||
VerilatedRange() = default;
|
||||
VerilatedRange(int left, int right)
|
||||
: m_left{left}
|
||||
, m_right{right} {}
|
||||
@ -53,7 +53,7 @@ protected:
|
||||
}
|
||||
|
||||
public:
|
||||
~VerilatedRange() {}
|
||||
~VerilatedRange() = default;
|
||||
int left() const { return m_left; }
|
||||
int right() const { return m_right; }
|
||||
int low() const { return (m_left < m_right) ? m_left : m_right; }
|
||||
@ -136,7 +136,7 @@ public:
|
||||
}
|
||||
|
||||
public:
|
||||
~VerilatedVarProps() {}
|
||||
~VerilatedVarProps() = default;
|
||||
// METHODS
|
||||
bool magicOk() const { return m_magic == MAGIC; }
|
||||
VerilatedVarType vltype() const { return m_vltype; }
|
||||
@ -199,7 +199,7 @@ public:
|
||||
VerilatedDpiOpenVar(const VerilatedVarProps* propsp, const void* datap)
|
||||
: m_propsp{propsp}
|
||||
, m_datap{const_cast<void*>(datap)} {}
|
||||
~VerilatedDpiOpenVar() {}
|
||||
~VerilatedDpiOpenVar() = default;
|
||||
// METHODS
|
||||
void* datap() const { return m_datap; }
|
||||
// METHODS - from VerilatedVarProps
|
||||
@ -241,7 +241,7 @@ protected:
|
||||
, m_isParam{isParam} {}
|
||||
|
||||
public:
|
||||
~VerilatedVar() {}
|
||||
~VerilatedVar() = default;
|
||||
// ACCESSORS
|
||||
void* datap() const { return m_datap; }
|
||||
const VerilatedRange& range() const { return packed(); } // Deprecated
|
||||
|
@ -45,23 +45,23 @@ struct VerilatedCStrCmp {
|
||||
class VerilatedScopeNameMap
|
||||
: public std::map<const char*, const VerilatedScope*, VerilatedCStrCmp> {
|
||||
public:
|
||||
VerilatedScopeNameMap() {}
|
||||
~VerilatedScopeNameMap() {}
|
||||
VerilatedScopeNameMap() = default;
|
||||
~VerilatedScopeNameMap() = default;
|
||||
};
|
||||
|
||||
/// Map of sorted variable names to find associated variable class
|
||||
class VerilatedVarNameMap : public std::map<const char*, VerilatedVar, VerilatedCStrCmp> {
|
||||
public:
|
||||
VerilatedVarNameMap() {}
|
||||
~VerilatedVarNameMap() {}
|
||||
VerilatedVarNameMap() = default;
|
||||
~VerilatedVarNameMap() = default;
|
||||
};
|
||||
|
||||
typedef std::vector<const VerilatedScope*> VerilatedScopeVector;
|
||||
|
||||
class VerilatedHierarchyMap : public std::map<const VerilatedScope*, VerilatedScopeVector> {
|
||||
public:
|
||||
VerilatedHierarchyMap() {}
|
||||
~VerilatedHierarchyMap() {}
|
||||
VerilatedHierarchyMap() = default;
|
||||
~VerilatedHierarchyMap() = default;
|
||||
};
|
||||
|
||||
#endif // Guard
|
||||
|
@ -82,7 +82,7 @@ public:
|
||||
// that must notify this MTaskVertex before it will become ready
|
||||
// to run.
|
||||
explicit VlMTaskVertex(vluint32_t upstreamDepCount);
|
||||
~VlMTaskVertex() {}
|
||||
~VlMTaskVertex() = default;
|
||||
|
||||
static vluint64_t yields() { return s_yields; }
|
||||
static void yieldThread() {
|
||||
@ -136,7 +136,7 @@ protected:
|
||||
unsigned m_cpu; // Execution CPU number (at start anyways)
|
||||
public:
|
||||
class Barrier {};
|
||||
VlProfileRec() {}
|
||||
VlProfileRec() = default;
|
||||
explicit VlProfileRec(Barrier) { m_cpu = getcpu(); }
|
||||
void startRecord(vluint64_t time, uint32_t mtask, uint32_t predict) {
|
||||
m_type = VlProfileRec::TYPE_MTASK_RUN;
|
||||
|
@ -39,8 +39,8 @@ private:
|
||||
int m_fd = 0; ///< File descriptor we're writing to
|
||||
public:
|
||||
// METHODS
|
||||
VerilatedVcdFile() {}
|
||||
virtual ~VerilatedVcdFile() {}
|
||||
VerilatedVcdFile() = default;
|
||||
virtual ~VerilatedVcdFile() = default;
|
||||
virtual bool open(const std::string& name) VL_MT_UNSAFE;
|
||||
virtual void close() VL_MT_UNSAFE;
|
||||
virtual ssize_t write(const char* bufp, ssize_t len) VL_MT_UNSAFE;
|
||||
|
@ -61,8 +61,8 @@ class VerilatedVpio {
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
VerilatedVpio() {}
|
||||
virtual ~VerilatedVpio() {}
|
||||
VerilatedVpio() = default;
|
||||
virtual ~VerilatedVpio() = default;
|
||||
inline static void* operator new(size_t size) VL_MT_SAFE {
|
||||
// We new and delete tons of vpi structures, so keep them around
|
||||
// To simplify our free list, we use a size large enough for all derived types
|
||||
@ -114,7 +114,7 @@ public:
|
||||
m_value.format = cbDatap->value ? cbDatap->value->format : vpiSuppressVal;
|
||||
m_cbData.value = &m_value;
|
||||
}
|
||||
virtual ~VerilatedVpioCb() override {}
|
||||
virtual ~VerilatedVpioCb() override = default;
|
||||
static inline VerilatedVpioCb* castp(vpiHandle h) {
|
||||
return dynamic_cast<VerilatedVpioCb*>(reinterpret_cast<VerilatedVpio*>(h));
|
||||
}
|
||||
@ -131,7 +131,7 @@ class VerilatedVpioConst : public VerilatedVpio {
|
||||
public:
|
||||
explicit VerilatedVpioConst(vlsint32_t num)
|
||||
: m_num{num} {}
|
||||
virtual ~VerilatedVpioConst() override {}
|
||||
virtual ~VerilatedVpioConst() override = default;
|
||||
static inline VerilatedVpioConst* castp(vpiHandle h) {
|
||||
return dynamic_cast<VerilatedVpioConst*>(reinterpret_cast<VerilatedVpio*>(h));
|
||||
}
|
||||
@ -148,7 +148,7 @@ public:
|
||||
: m_varp{varp}
|
||||
, m_scopep{scopep} {}
|
||||
|
||||
virtual ~VerilatedVpioParam() override {}
|
||||
virtual ~VerilatedVpioParam() override = default;
|
||||
|
||||
static inline VerilatedVpioParam* castp(vpiHandle h) {
|
||||
return dynamic_cast<VerilatedVpioParam*>(reinterpret_cast<VerilatedVpio*>(h));
|
||||
@ -172,7 +172,7 @@ class VerilatedVpioRange : public VerilatedVpio {
|
||||
public:
|
||||
explicit VerilatedVpioRange(const VerilatedRange* range)
|
||||
: m_range{range} {}
|
||||
virtual ~VerilatedVpioRange() override {}
|
||||
virtual ~VerilatedVpioRange() override = default;
|
||||
static inline VerilatedVpioRange* castp(vpiHandle h) {
|
||||
return dynamic_cast<VerilatedVpioRange*>(reinterpret_cast<VerilatedVpio*>(h));
|
||||
}
|
||||
@ -198,7 +198,7 @@ protected:
|
||||
public:
|
||||
explicit VerilatedVpioScope(const VerilatedScope* scopep)
|
||||
: m_scopep{scopep} {}
|
||||
virtual ~VerilatedVpioScope() override {}
|
||||
virtual ~VerilatedVpioScope() override = default;
|
||||
static inline VerilatedVpioScope* castp(vpiHandle h) {
|
||||
return dynamic_cast<VerilatedVpioScope*>(reinterpret_cast<VerilatedVpio*>(h));
|
||||
}
|
||||
@ -274,7 +274,7 @@ public:
|
||||
m_index = index;
|
||||
m_varDatap = (static_cast<vluint8_t*>(varp->datap())) + entSize() * offset;
|
||||
}
|
||||
virtual ~VerilatedVpioMemoryWord() override {}
|
||||
virtual ~VerilatedVpioMemoryWord() override = default;
|
||||
static inline VerilatedVpioMemoryWord* castp(vpiHandle h) {
|
||||
return dynamic_cast<VerilatedVpioMemoryWord*>(reinterpret_cast<VerilatedVpio*>(h));
|
||||
}
|
||||
@ -298,7 +298,7 @@ class VerilatedVpioVarIter : public VerilatedVpio {
|
||||
public:
|
||||
explicit VerilatedVpioVarIter(const VerilatedScope* scopep)
|
||||
: m_scopep{scopep} {}
|
||||
virtual ~VerilatedVpioVarIter() override {}
|
||||
virtual ~VerilatedVpioVarIter() override = default;
|
||||
static inline VerilatedVpioVarIter* castp(vpiHandle h) {
|
||||
return dynamic_cast<VerilatedVpioVarIter*>(reinterpret_cast<VerilatedVpio*>(h));
|
||||
}
|
||||
@ -334,7 +334,7 @@ public:
|
||||
, m_varp{varp}
|
||||
, m_iteration{varp->unpacked().right()}
|
||||
, m_direction{VL_LIKELY(varp->unpacked().left() > varp->unpacked().right()) ? 1 : -1} {}
|
||||
virtual ~VerilatedVpioMemoryWordIter() override {}
|
||||
virtual ~VerilatedVpioMemoryWordIter() override = default;
|
||||
static inline VerilatedVpioMemoryWordIter* castp(vpiHandle h) {
|
||||
return dynamic_cast<VerilatedVpioMemoryWordIter*>(reinterpret_cast<VerilatedVpio*>(h));
|
||||
}
|
||||
@ -379,7 +379,7 @@ public:
|
||||
: m_vec{&vec} {
|
||||
m_it = m_vec->begin();
|
||||
}
|
||||
virtual ~VerilatedVpioModuleIter() override {}
|
||||
virtual ~VerilatedVpioModuleIter() override = default;
|
||||
static inline VerilatedVpioModuleIter* castp(vpiHandle h) {
|
||||
return dynamic_cast<VerilatedVpioModuleIter*>(reinterpret_cast<VerilatedVpio*>(h));
|
||||
}
|
||||
@ -422,8 +422,8 @@ class VerilatedVpiImp {
|
||||
static VerilatedVpiImp s_s; // Singleton
|
||||
|
||||
public:
|
||||
VerilatedVpiImp() {}
|
||||
~VerilatedVpiImp() {}
|
||||
VerilatedVpiImp() = default;
|
||||
~VerilatedVpiImp() = default;
|
||||
static void assertOneCheck() { s_s.m_assertOne.check(); }
|
||||
static void cbReasonAdd(VerilatedVpioCb* vop) {
|
||||
if (vop->reason() == cbValueChange) {
|
||||
@ -553,7 +553,7 @@ public:
|
||||
m_buff[0] = '\0';
|
||||
m_errorInfo.product = const_cast<PLI_BYTE8*>(Verilated::productName());
|
||||
}
|
||||
~VerilatedVpiError() {}
|
||||
~VerilatedVpiError() = default;
|
||||
static void selfTest() VL_MT_UNSAFE_ONE;
|
||||
VerilatedVpiError* setMessage(PLI_INT32 level) {
|
||||
m_flag = true;
|
||||
|
@ -130,8 +130,8 @@ public:
|
||||
}
|
||||
|
||||
// CONSTRUCTORS
|
||||
ActiveNamer() {}
|
||||
virtual ~ActiveNamer() override {}
|
||||
ActiveNamer() = default;
|
||||
virtual ~ActiveNamer() override = default;
|
||||
void main(AstScope* nodep) { iterate(nodep); }
|
||||
};
|
||||
|
||||
@ -205,7 +205,7 @@ public:
|
||||
, m_alwaysp{nodep} {
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~ActiveDlyVisitor() override {}
|
||||
virtual ~ActiveDlyVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -406,7 +406,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit ActiveVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~ActiveVisitor() override {}
|
||||
virtual ~ActiveVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -128,7 +128,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit ActiveTopVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~ActiveTopVisitor() override {}
|
||||
virtual ~ActiveTopVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -197,7 +197,7 @@ public:
|
||||
// Process
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~AssertPreVisitor() override {}
|
||||
virtual ~AssertPreVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
12
src/V3Ast.h
12
src/V3Ast.h
@ -1010,7 +1010,7 @@ public:
|
||||
: mu_flags{0} {
|
||||
init((right > left) ? right : left, (right > left) ? left : right, (right > left));
|
||||
}
|
||||
~VNumRange() {}
|
||||
~VNumRange() = default;
|
||||
// MEMBERS
|
||||
void init(int hi, int lo, bool littleEndian) {
|
||||
m_hi = hi;
|
||||
@ -1112,7 +1112,7 @@ public:
|
||||
, m_numeric{numeric}
|
||||
, m_keyword{kwd}
|
||||
, m_nrange{nrange} {}
|
||||
~VBasicTypeKey() {}
|
||||
~VBasicTypeKey() = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -1138,7 +1138,7 @@ public:
|
||||
m_u.ui = i;
|
||||
}
|
||||
explicit VNUser(void* p) { m_u.up = p; }
|
||||
~VNUser() {}
|
||||
~VNUser() = default;
|
||||
// Casters
|
||||
WidthVP* c() const { return reinterpret_cast<WidthVP*>(m_u.up); }
|
||||
VSymEnt* toSymEnt() const { return reinterpret_cast<VSymEnt*>(m_u.up); }
|
||||
@ -1315,7 +1315,7 @@ protected:
|
||||
AstNode** m_iterpp = nullptr;
|
||||
|
||||
public:
|
||||
AstNRelinker() {}
|
||||
AstNRelinker() = default;
|
||||
void relink(AstNode* newp);
|
||||
AstNode* oldp() const { return m_oldp; }
|
||||
void dump(std::ostream& str = std::cout) const;
|
||||
@ -1538,7 +1538,7 @@ public:
|
||||
bool brokeExistsBelow() const;
|
||||
|
||||
// CONSTRUCTORS
|
||||
virtual ~AstNode() {}
|
||||
virtual ~AstNode() = default;
|
||||
#ifdef VL_LEAK_CHECKS
|
||||
static void* operator new(size_t size);
|
||||
static void operator delete(void* obj, size_t size);
|
||||
@ -1905,7 +1905,7 @@ inline void AstNRelinker::relink(AstNode* newp) { newp->AstNode::relink(this); }
|
||||
//=== AstNode* : Derived generic node types
|
||||
|
||||
#define ASTNODE_BASE_FUNCS(name) \
|
||||
virtual ~Ast##name() {} \
|
||||
virtual ~Ast##name() override = default; \
|
||||
static Ast##name* cloneTreeNull(Ast##name* nodep, bool cloneNextLink) { \
|
||||
return nodep ? nodep->cloneTree(cloneNextLink) : nullptr; \
|
||||
} \
|
||||
|
@ -36,7 +36,7 @@
|
||||
Ast##name* clonep() const { return static_cast<Ast##name*>(AstNode::clonep()); }
|
||||
|
||||
#define ASTNODE_NODE_FUNCS(name) \
|
||||
virtual ~Ast##name() override {} \
|
||||
virtual ~Ast##name() override = default; \
|
||||
ASTNODE_NODE_FUNCS_NO_DTOR(name)
|
||||
|
||||
//######################################################################
|
||||
|
@ -45,8 +45,8 @@ private:
|
||||
bool m_anyFuncInBegin = false;
|
||||
|
||||
public:
|
||||
BeginState() {}
|
||||
~BeginState() {}
|
||||
BeginState() = default;
|
||||
~BeginState() = default;
|
||||
void userMarkChanged(AstNode* nodep) {
|
||||
nodep->user1(true);
|
||||
m_anyFuncInBegin = true;
|
||||
@ -242,7 +242,7 @@ public:
|
||||
: m_statep{statep} {
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~BeginVisitor() override {}
|
||||
virtual ~BeginVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -283,7 +283,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
BeginRelinkVisitor(AstNetlist* nodep, BeginState*) { iterate(nodep); }
|
||||
virtual ~BeginRelinkVisitor() override {}
|
||||
virtual ~BeginRelinkVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -118,7 +118,7 @@ public:
|
||||
iterateChildren(nodep);
|
||||
calc_tasks();
|
||||
}
|
||||
virtual ~BranchVisitor() override {}
|
||||
virtual ~BranchVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -190,8 +190,8 @@ public:
|
||||
}
|
||||
|
||||
// CONSTRUCTORS
|
||||
BrokenTable() {}
|
||||
virtual ~BrokenTable() override {}
|
||||
BrokenTable() = default;
|
||||
virtual ~BrokenTable() override = default;
|
||||
};
|
||||
|
||||
BrokenTable::NodeMap BrokenTable::s_nodes;
|
||||
@ -231,7 +231,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit BrokenMarkVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~BrokenMarkVisitor() override {}
|
||||
virtual ~BrokenMarkVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -304,7 +304,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit BrokenCheckVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~BrokenCheckVisitor() override {}
|
||||
virtual ~BrokenCheckVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -87,7 +87,7 @@ public:
|
||||
m_funcp = m_tlFuncp;
|
||||
m_modp->addStmtp(m_tlFuncp);
|
||||
}
|
||||
~V3CCtorsVisitor() {}
|
||||
~V3CCtorsVisitor() = default;
|
||||
|
||||
private:
|
||||
VL_UNCOPYABLE(V3CCtorsVisitor);
|
||||
|
@ -68,7 +68,7 @@ public:
|
||||
// CONSTRUCTORS
|
||||
explicit CUseState(AstNodeModule* nodep)
|
||||
: m_modInsertp{nodep} {}
|
||||
virtual ~CUseState() {}
|
||||
virtual ~CUseState() = default;
|
||||
VL_UNCOPYABLE(CUseState);
|
||||
};
|
||||
|
||||
@ -109,7 +109,7 @@ public:
|
||||
: m_stater(stater) { // Need () or GCC 4.8 false warning
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~CUseDTypeVisitor() override {}
|
||||
virtual ~CUseDTypeVisitor() override = default;
|
||||
VL_UNCOPYABLE(CUseDTypeVisitor);
|
||||
};
|
||||
|
||||
@ -219,7 +219,7 @@ public:
|
||||
: m_state{nodep} {
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~CUseVisitor() override {}
|
||||
virtual ~CUseVisitor() override = default;
|
||||
VL_UNCOPYABLE(CUseVisitor);
|
||||
};
|
||||
|
||||
|
@ -111,7 +111,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit CaseLintVisitor(AstNodeCase* nodep) { iterate(nodep); }
|
||||
virtual ~CaseLintVisitor() override {}
|
||||
virtual ~CaseLintVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -193,7 +193,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit CastVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~CastVisitor() override {}
|
||||
virtual ~CastVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -66,7 +66,7 @@ public:
|
||||
, m_srcDomainSet{false}
|
||||
, m_dstDomainSet{false}
|
||||
, m_asyncPath{false} {}
|
||||
virtual ~CdcEitherVertex() override {}
|
||||
virtual ~CdcEitherVertex() override = default;
|
||||
// ACCESSORS
|
||||
virtual FileLine* fileline() const override { return nodep()->fileline(); }
|
||||
AstScope* scopep() const { return m_scopep; }
|
||||
@ -92,7 +92,7 @@ public:
|
||||
CdcVarVertex(V3Graph* graphp, AstScope* scopep, AstVarScope* varScp)
|
||||
: CdcEitherVertex{graphp, scopep, varScp}
|
||||
, m_varScp{varScp} {}
|
||||
virtual ~CdcVarVertex() override {}
|
||||
virtual ~CdcVarVertex() override = default;
|
||||
// ACCESSORS
|
||||
AstVarScope* varScp() const { return m_varScp; }
|
||||
virtual string name() const override { return (cvtToHex(m_varScp) + " " + varScp()->name()); }
|
||||
@ -117,7 +117,7 @@ public:
|
||||
srcDomainp(sensenodep);
|
||||
dstDomainp(sensenodep);
|
||||
}
|
||||
virtual ~CdcLogicVertex() override {}
|
||||
virtual ~CdcLogicVertex() override = default;
|
||||
// ACCESSORS
|
||||
virtual string name() const override {
|
||||
return (cvtToHex(nodep()) + "@" + scopep()->prettyName());
|
||||
@ -170,7 +170,7 @@ public:
|
||||
, m_prefix{prefix} {
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~CdcDumpVisitor() override {}
|
||||
virtual ~CdcDumpVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -194,7 +194,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit CdcWidthVisitor(AstNode* nodep) { iterate(nodep); }
|
||||
virtual ~CdcWidthVisitor() override {}
|
||||
virtual ~CdcWidthVisitor() override = default;
|
||||
// ACCESSORS
|
||||
int maxWidth() const {
|
||||
size_t width = 1;
|
||||
|
@ -48,8 +48,8 @@ public:
|
||||
int m_numStmts = 0; // Number of statements added to m_chgFuncp
|
||||
int m_funcNum = 0; // Number of change functions emitted
|
||||
|
||||
ChangedState() {}
|
||||
~ChangedState() {}
|
||||
ChangedState() = default;
|
||||
~ChangedState() = default;
|
||||
|
||||
void maybeCreateChgFuncp() {
|
||||
// Don't create an extra function call if splitting is disabled
|
||||
@ -208,7 +208,7 @@ public:
|
||||
m_newLvEqnp->deleteTree();
|
||||
m_newRvEqnp->deleteTree();
|
||||
}
|
||||
virtual ~ChangedInsertVisitor() override {}
|
||||
virtual ~ChangedInsertVisitor() override = default;
|
||||
VL_UNCOPYABLE(ChangedInsertVisitor);
|
||||
};
|
||||
|
||||
@ -280,7 +280,7 @@ public:
|
||||
: m_statep{statep} {
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~ChangedVisitor() override {}
|
||||
virtual ~ChangedVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -305,7 +305,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit CleanVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~CleanVisitor() override {}
|
||||
virtual ~CleanVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -454,7 +454,7 @@ public:
|
||||
// easily without iterating through the tree.
|
||||
nodep->evalp(m_evalFuncp);
|
||||
}
|
||||
virtual ~ClockVisitor() override {}
|
||||
virtual ~ClockVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -56,7 +56,7 @@ protected:
|
||||
// STATE
|
||||
|
||||
// METHODS
|
||||
virtual ~CombBaseVisitor() override {}
|
||||
virtual ~CombBaseVisitor() override = default;
|
||||
VL_DEBUG_FUNC; // Declare debug()
|
||||
};
|
||||
|
||||
@ -131,8 +131,8 @@ private:
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
CombCallVisitor() {}
|
||||
virtual ~CombCallVisitor() override {}
|
||||
CombCallVisitor() = default;
|
||||
virtual ~CombCallVisitor() override = default;
|
||||
void main(AstNetlist* nodep) { iterate(nodep); }
|
||||
};
|
||||
|
||||
@ -153,7 +153,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit CombMarkVisitor(AstNode* nodep) { iterate(nodep); }
|
||||
virtual ~CombMarkVisitor() override {}
|
||||
virtual ~CombMarkVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -38,8 +38,8 @@ template <typename T> class V3ConfigWildcardResolver {
|
||||
Map m_mapWildcard; // Wildcard strings to entities
|
||||
Map m_mapResolved; // Resolved strings to converged entities
|
||||
public:
|
||||
V3ConfigWildcardResolver() {}
|
||||
~V3ConfigWildcardResolver() {}
|
||||
V3ConfigWildcardResolver() = default;
|
||||
~V3ConfigWildcardResolver() = default;
|
||||
|
||||
/// Update into maps from other
|
||||
void update(const V3ConfigWildcardResolver& other) {
|
||||
@ -123,7 +123,7 @@ class V3ConfigFTask {
|
||||
bool m_public = false; // Public function/task
|
||||
|
||||
public:
|
||||
V3ConfigFTask() {}
|
||||
V3ConfigFTask() = default;
|
||||
void update(const V3ConfigFTask& f) {
|
||||
// Don't overwrite true with false
|
||||
if (f.m_isolate) m_isolate = true;
|
||||
@ -165,7 +165,7 @@ class V3ConfigModule {
|
||||
bool m_inlineValue = false; // The inline value (on/off)
|
||||
|
||||
public:
|
||||
V3ConfigModule() {}
|
||||
V3ConfigModule() = default;
|
||||
|
||||
void update(const V3ConfigModule& m) {
|
||||
m_tasks.update(m.m_tasks);
|
||||
@ -233,7 +233,7 @@ public:
|
||||
: m_lineno{lineno}
|
||||
, m_code{code}
|
||||
, m_on{on} {}
|
||||
~V3ConfigIgnoresLine() {}
|
||||
~V3ConfigIgnoresLine() = default;
|
||||
inline bool operator<(const V3ConfigIgnoresLine& rh) const {
|
||||
if (m_lineno < rh.m_lineno) return true;
|
||||
if (m_lineno > rh.m_lineno) return false;
|
||||
@ -352,8 +352,8 @@ class V3ConfigResolver {
|
||||
V3ConfigFileResolver m_files; // Access to file names (with wildcards)
|
||||
|
||||
static V3ConfigResolver s_singleton; // Singleton (not via local static, as that's slow)
|
||||
V3ConfigResolver() {}
|
||||
~V3ConfigResolver() {}
|
||||
V3ConfigResolver() = default;
|
||||
~V3ConfigResolver() = default;
|
||||
|
||||
public:
|
||||
inline static V3ConfigResolver& s() { return s_singleton; }
|
||||
|
@ -52,7 +52,7 @@ public:
|
||||
AstNode::user4ClearTree(); // Check marked InUse before we're called
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~ConstVarMarkVisitor() override {}
|
||||
virtual ~ConstVarMarkVisitor() override = default;
|
||||
};
|
||||
|
||||
class ConstVarFindVisitor : public AstNVisitor {
|
||||
@ -71,7 +71,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit ConstVarFindVisitor(AstNode* nodep) { iterateAndNextNull(nodep); }
|
||||
virtual ~ConstVarFindVisitor() override {}
|
||||
virtual ~ConstVarFindVisitor() override = default;
|
||||
// METHODS
|
||||
bool found() const { return m_found; }
|
||||
};
|
||||
@ -2563,7 +2563,7 @@ public:
|
||||
}
|
||||
// clang-format on
|
||||
}
|
||||
virtual ~ConstVisitor() override {}
|
||||
virtual ~ConstVisitor() override = default;
|
||||
AstNode* mainAcceptEdit(AstNode* nodep) {
|
||||
// Operate starting at a random place
|
||||
return iterateSubtreeReturnEdits(nodep);
|
||||
|
@ -52,7 +52,7 @@ private:
|
||||
: m_comment{comment}
|
||||
, m_varRefp{vp}
|
||||
, m_chgRefp{cp} {}
|
||||
~ToggleEnt() {}
|
||||
~ToggleEnt() = default;
|
||||
void cleanup() {
|
||||
VL_DO_CLEAR(m_varRefp->deleteTree(), m_varRefp = nullptr);
|
||||
VL_DO_CLEAR(m_chgRefp->deleteTree(), m_chgRefp = nullptr);
|
||||
@ -64,7 +64,7 @@ private:
|
||||
bool m_inModOff = false; // In module with no coverage
|
||||
int m_handle = 0; // Opaque handle for index into line tracking
|
||||
const AstNode* m_nodep = nullptr; // Node establishing this state
|
||||
CheckState() {}
|
||||
CheckState() = default;
|
||||
bool lineCoverageOn(const AstNode* nodep) const {
|
||||
return m_on && !m_inModOff && nodep->fileline()->coverageOn()
|
||||
&& v3Global.opt.coverageLine();
|
||||
@ -534,7 +534,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit CoverageVisitor(AstNetlist* rootp) { iterateChildren(rootp); }
|
||||
virtual ~CoverageVisitor() override {}
|
||||
virtual ~CoverageVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -63,7 +63,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit DeadModVisitor(AstNodeModule* nodep) { iterate(nodep); }
|
||||
virtual ~DeadModVisitor() override {}
|
||||
virtual ~DeadModVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -461,7 +461,7 @@ public:
|
||||
// We may have removed some datatypes, cleanup
|
||||
nodep->typeTablep()->repairCache();
|
||||
}
|
||||
virtual ~DeadVisitor() override {}
|
||||
virtual ~DeadVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -155,7 +155,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit DepthVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~DepthVisitor() override {}
|
||||
virtual ~DepthVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -117,7 +117,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit DepthBlockVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~DepthBlockVisitor() override {}
|
||||
virtual ~DepthBlockVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -296,7 +296,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit DescopeVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~DescopeVisitor() override {}
|
||||
virtual ~DescopeVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -1258,7 +1258,7 @@ public:
|
||||
m_trackText = trackText;
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~EmitCStmts() override {}
|
||||
virtual ~EmitCStmts() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -1276,7 +1276,7 @@ public:
|
||||
: m_mtaskIds(mtaskIds) { // Cannot be {} or GCC 4.8 false warning
|
||||
m_serial = ++m_serialNext; // Cannot be ()/{} or GCC 4.8 false warning
|
||||
}
|
||||
virtual ~EmitVarTspSorter() {}
|
||||
virtual ~EmitVarTspSorter() = default;
|
||||
// METHODS
|
||||
virtual bool operator<(const TspStateBase& other) const override {
|
||||
return operator<(dynamic_cast<const EmitVarTspSorter&>(other));
|
||||
@ -1840,8 +1840,8 @@ class EmitCImp : EmitCStmts {
|
||||
void maybeSplit(AstNodeModule* modp);
|
||||
|
||||
public:
|
||||
EmitCImp() {}
|
||||
virtual ~EmitCImp() override {}
|
||||
EmitCImp() = default;
|
||||
virtual ~EmitCImp() override = default;
|
||||
void mainImp(AstNodeModule* modp, bool slow);
|
||||
void mainInt(AstNodeModule* modp);
|
||||
void mainDoFunc(AstCFunc* nodep) { iterate(nodep); }
|
||||
@ -3840,7 +3840,7 @@ class EmitCTrace : EmitCStmts {
|
||||
public:
|
||||
explicit EmitCTrace(bool slow)
|
||||
: m_slow{slow} {}
|
||||
virtual ~EmitCTrace() override {}
|
||||
virtual ~EmitCTrace() override = default;
|
||||
void main() {
|
||||
// Put out the file
|
||||
newOutCFile(0);
|
||||
|
@ -106,8 +106,8 @@ public:
|
||||
}
|
||||
|
||||
// CONSTRUCTORS
|
||||
EmitCBaseVisitor() {}
|
||||
virtual ~EmitCBaseVisitor() override {}
|
||||
EmitCBaseVisitor() = default;
|
||||
virtual ~EmitCBaseVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -126,7 +126,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit EmitCBaseCounterVisitor(AstNode* nodep) { iterate(nodep); }
|
||||
virtual ~EmitCBaseCounterVisitor() override {}
|
||||
virtual ~EmitCBaseCounterVisitor() override = default;
|
||||
int count() const { return m_count; }
|
||||
};
|
||||
|
||||
|
@ -256,7 +256,7 @@ class CMakeEmitter {
|
||||
|
||||
public:
|
||||
explicit CMakeEmitter() { emitOverallCMake(); }
|
||||
virtual ~CMakeEmitter() {}
|
||||
virtual ~CMakeEmitter() = default;
|
||||
};
|
||||
|
||||
void V3EmitCMake::emit() {
|
||||
|
@ -467,7 +467,7 @@ void EmitCSyms::emitSymHdr() {
|
||||
|
||||
puts("\n// CREATORS\n");
|
||||
puts(symClassName() + "(" + topClassName() + "* topp, const char* namep);\n");
|
||||
puts(string("~") + symClassName() + "() {}\n");
|
||||
puts(string("~") + symClassName() + "() = default;\n");
|
||||
|
||||
for (const auto& i : m_usesVfinal) {
|
||||
puts("void " + symClassName() + "_" + cvtToStr(i.first) + "(");
|
||||
|
@ -285,7 +285,7 @@ public:
|
||||
emitClassMake();
|
||||
emitOverallMake();
|
||||
}
|
||||
virtual ~EmitMk() {}
|
||||
virtual ~EmitMk() = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -667,7 +667,7 @@ public:
|
||||
explicit EmitVBaseVisitor(bool suppressUnknown, AstSenTree* domainp)
|
||||
: m_suppressUnknown{suppressUnknown}
|
||||
, m_sensesp{domainp} {}
|
||||
virtual ~EmitVBaseVisitor() override {}
|
||||
virtual ~EmitVBaseVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -693,7 +693,7 @@ public:
|
||||
m_suppressVarSemi = suppressVarSemi;
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~EmitVFileVisitor() override {}
|
||||
virtual ~EmitVFileVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -715,7 +715,7 @@ public:
|
||||
, m_os(os) { // Need () or GCC 4.8 false warning
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~EmitVStreamVisitor() override {}
|
||||
virtual ~EmitVStreamVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -792,7 +792,7 @@ public:
|
||||
if (user3mark) { AstUser3InUse::check(); }
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~EmitVPrefixedVisitor() override {}
|
||||
virtual ~EmitVPrefixedVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -250,7 +250,7 @@ public:
|
||||
: m_ofp{ofp} {
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~EmitXmlFileVisitor() override {}
|
||||
virtual ~EmitXmlFileVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -298,7 +298,7 @@ public:
|
||||
}
|
||||
m_os << "</module_files>\n";
|
||||
}
|
||||
virtual ~ModuleFilesXmlVisitor() override {}
|
||||
virtual ~ModuleFilesXmlVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -363,7 +363,7 @@ public:
|
||||
// Operate on whole netlist
|
||||
nodep->accept(*this);
|
||||
}
|
||||
virtual ~HierCellsXmlVisitor() override {}
|
||||
virtual ~HierCellsXmlVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -879,7 +879,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit ExpandVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~ExpandVisitor() override {}
|
||||
virtual ~ExpandVisitor() override = default;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -77,7 +77,7 @@ class V3FileDependImp {
|
||||
m_stat.st_ctime = 0;
|
||||
m_stat.st_mtime = 0;
|
||||
}
|
||||
~DependFile() {}
|
||||
~DependFile() = default;
|
||||
const string& filename() const { return m_filename; }
|
||||
bool target() const { return m_target; }
|
||||
bool exists() const { return m_exists; }
|
||||
@ -971,7 +971,7 @@ public:
|
||||
passthru("vlTOPp");
|
||||
passthru("vlSymsp");
|
||||
}
|
||||
~VIdProtectImp() {}
|
||||
~VIdProtectImp() = default;
|
||||
// METHODS
|
||||
string passthru(const string& old) {
|
||||
if (!v3Global.opt.protectIds()) return old;
|
||||
|
12
src/V3File.h
12
src/V3File.h
@ -130,7 +130,7 @@ private:
|
||||
|
||||
public:
|
||||
V3OutFormatter(const string& filename, Language lang);
|
||||
virtual ~V3OutFormatter() {}
|
||||
virtual ~V3OutFormatter() = default;
|
||||
// ACCESSORS
|
||||
string filename() const { return m_filename; }
|
||||
int column() const { return m_column; }
|
||||
@ -198,7 +198,7 @@ public:
|
||||
: V3OutFile{filename, V3OutFormatter::LA_C} {
|
||||
resetPrivate();
|
||||
}
|
||||
virtual ~V3OutCFile() override {}
|
||||
virtual ~V3OutCFile() override = default;
|
||||
virtual void putsHeader() { puts("// Verilated -*- C++ -*-\n"); }
|
||||
virtual void putsIntTopInclude() { putsForceIncs(); }
|
||||
virtual void putsGuard();
|
||||
@ -222,7 +222,7 @@ class V3OutScFile : public V3OutCFile {
|
||||
public:
|
||||
explicit V3OutScFile(const string& filename)
|
||||
: V3OutCFile{filename} {}
|
||||
virtual ~V3OutScFile() override {}
|
||||
virtual ~V3OutScFile() override = default;
|
||||
virtual void putsHeader() override { puts("// Verilated -*- SystemC -*-\n"); }
|
||||
virtual void putsIntTopInclude() override {
|
||||
putsForceIncs();
|
||||
@ -235,7 +235,7 @@ class V3OutVFile : public V3OutFile {
|
||||
public:
|
||||
explicit V3OutVFile(const string& filename)
|
||||
: V3OutFile{filename, V3OutFormatter::LA_VERILOG} {}
|
||||
virtual ~V3OutVFile() override {}
|
||||
virtual ~V3OutVFile() override = default;
|
||||
virtual void putsHeader() { puts("// Verilated -*- Verilog -*-\n"); }
|
||||
};
|
||||
|
||||
@ -245,7 +245,7 @@ public:
|
||||
: V3OutFile{filename, V3OutFormatter::LA_XML} {
|
||||
blockIndent(2);
|
||||
}
|
||||
virtual ~V3OutXmlFile() override {}
|
||||
virtual ~V3OutXmlFile() override = default;
|
||||
virtual void putsHeader() { puts("<?xml version=\"1.0\" ?>\n"); }
|
||||
};
|
||||
|
||||
@ -253,7 +253,7 @@ class V3OutMkFile : public V3OutFile {
|
||||
public:
|
||||
explicit V3OutMkFile(const string& filename)
|
||||
: V3OutFile{filename, V3OutFormatter::LA_MK} {}
|
||||
virtual ~V3OutMkFile() override {}
|
||||
virtual ~V3OutMkFile() override = default;
|
||||
virtual void putsHeader() { puts("# Verilated -*- Makefile -*-\n"); }
|
||||
// No automatic indentation yet.
|
||||
void puts(const char* strg) { putsNoTracking(strg); }
|
||||
|
@ -45,8 +45,8 @@ class FileLineSingleton {
|
||||
std::deque<string> m_names; // filename text for each filenameno
|
||||
std::deque<V3LangCode> m_languages; // language for each filenameno
|
||||
// CONSTRUCTORS
|
||||
FileLineSingleton() {}
|
||||
~FileLineSingleton() {}
|
||||
FileLineSingleton() = default;
|
||||
~FileLineSingleton() = default;
|
||||
|
||||
protected:
|
||||
friend class FileLine;
|
||||
@ -73,7 +73,7 @@ public:
|
||||
static int s_id = 0;
|
||||
m_id = ++s_id;
|
||||
}
|
||||
~VFileContent() {}
|
||||
~VFileContent() = default;
|
||||
// METHODS
|
||||
void pushText(const string& text); // Add arbitrary text (need not be line-by-line)
|
||||
string getLine(int lineno) const;
|
||||
@ -143,7 +143,7 @@ public:
|
||||
explicit FileLine(EmptySecret);
|
||||
FileLine* copyOrSameFileLine();
|
||||
static void deleteAllRemaining();
|
||||
~FileLine() {}
|
||||
~FileLine() = default;
|
||||
#ifdef VL_LEAK_CHECKS
|
||||
static void* operator new(size_t size);
|
||||
static void operator delete(void* obj, size_t size);
|
||||
|
@ -57,7 +57,7 @@ public:
|
||||
V3Graph* m_graphp; // Graph this class is visiting
|
||||
explicit GateGraphBaseVisitor(V3Graph* graphp)
|
||||
: m_graphp{graphp} {}
|
||||
virtual ~GateGraphBaseVisitor() {}
|
||||
virtual ~GateGraphBaseVisitor() = default;
|
||||
virtual VNUser visit(GateLogicVertex* vertexp, VNUser vu = VNUser(0)) = 0;
|
||||
virtual VNUser visit(GateVarVertex* vertexp, VNUser vu = VNUser(0)) = 0;
|
||||
VL_DEBUG_FUNC; // Declare debug()
|
||||
@ -75,7 +75,7 @@ public:
|
||||
GateEitherVertex(V3Graph* graphp, AstScope* scopep)
|
||||
: V3GraphVertex{graphp}
|
||||
, m_scopep{scopep} {}
|
||||
virtual ~GateEitherVertex() override {}
|
||||
virtual ~GateEitherVertex() override = default;
|
||||
// ACCESSORS
|
||||
virtual string dotStyle() const override { return m_consumed ? "" : "dotted"; }
|
||||
AstScope* scopep() const { return m_scopep; }
|
||||
@ -133,7 +133,7 @@ public:
|
||||
GateVarVertex(V3Graph* graphp, AstScope* scopep, AstVarScope* varScp)
|
||||
: GateEitherVertex{graphp, scopep}
|
||||
, m_varScp{varScp} {}
|
||||
virtual ~GateVarVertex() override {}
|
||||
virtual ~GateVarVertex() override = default;
|
||||
// ACCESSORS
|
||||
AstVarScope* varScp() const { return m_varScp; }
|
||||
virtual string name() const override { return (cvtToHex(m_varScp) + " " + varScp()->name()); }
|
||||
@ -174,7 +174,7 @@ public:
|
||||
, m_nodep{nodep}
|
||||
, m_activep{activep}
|
||||
, m_slow{slow} {}
|
||||
virtual ~GateLogicVertex() override {}
|
||||
virtual ~GateLogicVertex() override = default;
|
||||
// ACCESSORS
|
||||
virtual string name() const override {
|
||||
return (cvtToHex(m_nodep) + "@" + scopep()->prettyName());
|
||||
@ -291,7 +291,7 @@ public:
|
||||
}
|
||||
if (debug() >= 9 && !m_isSimple) nodep->dumpTree(cout, " gate!Ok: ");
|
||||
}
|
||||
virtual ~GateOkVisitor() override {}
|
||||
virtual ~GateOkVisitor() override = default;
|
||||
// PUBLIC METHODS
|
||||
bool isSimple() const { return m_isSimple; }
|
||||
AstNode* substTree() const { return m_substTreep; }
|
||||
@ -870,7 +870,7 @@ private:
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
virtual ~GateElimVisitor() override {}
|
||||
virtual ~GateElimVisitor() override = default;
|
||||
GateElimVisitor(AstNode* nodep, AstVarScope* varscp, AstNode* replaceTreep,
|
||||
GateDedupeVarVisitor* varVisp) {
|
||||
UINFO(9, " elimvisitor " << nodep << endl);
|
||||
@ -939,7 +939,7 @@ private:
|
||||
}
|
||||
|
||||
public:
|
||||
GateDedupeHash() {}
|
||||
GateDedupeHash() = default;
|
||||
virtual ~GateDedupeHash() override {
|
||||
if (v3Global.opt.debugCheck()) check();
|
||||
}
|
||||
@ -1086,8 +1086,8 @@ private:
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
GateDedupeVarVisitor() {}
|
||||
virtual ~GateDedupeVarVisitor() override {}
|
||||
GateDedupeVarVisitor() = default;
|
||||
virtual ~GateDedupeVarVisitor() override = default;
|
||||
// PUBLIC METHODS
|
||||
AstNodeVarRef* findDupe(AstNode* nodep, AstVarScope* consumerVarScopep, AstActive* activep) {
|
||||
m_assignp = nullptr;
|
||||
@ -1409,8 +1409,8 @@ private:
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
GateConcatVisitor() {}
|
||||
virtual ~GateConcatVisitor() override {}
|
||||
GateConcatVisitor() = default;
|
||||
virtual ~GateConcatVisitor() override = default;
|
||||
// PUBLIC METHODS
|
||||
bool concatOffset(AstConcat* concatp, AstVarScope* vscp, int& offsetr) {
|
||||
m_vscp = vscp;
|
||||
@ -1436,7 +1436,7 @@ public:
|
||||
GateClkDecompState(int offset, AstVarScope* vsp)
|
||||
: m_offset{offset}
|
||||
, m_last_vsp{vsp} {}
|
||||
virtual ~GateClkDecompState() {}
|
||||
virtual ~GateClkDecompState() = default;
|
||||
};
|
||||
|
||||
class GateClkDecompGraphVisitor : public GateGraphBaseVisitor {
|
||||
@ -1591,7 +1591,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit GateDeassignVisitor(AstNode* nodep) { iterate(nodep); }
|
||||
virtual ~GateDeassignVisitor() override {}
|
||||
virtual ~GateDeassignVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -121,7 +121,7 @@ public:
|
||||
: m_topModp{topModp} {
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~GenClkRenameVisitor() override {}
|
||||
virtual ~GenClkRenameVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -214,7 +214,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit GenClkReadVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~GenClkReadVisitor() override {}
|
||||
virtual ~GenClkReadVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -218,7 +218,7 @@ public:
|
||||
virtual V3GraphVertex* clone(V3Graph* graphp) const {
|
||||
return new V3GraphVertex(graphp, *this);
|
||||
}
|
||||
virtual ~V3GraphVertex() {}
|
||||
virtual ~V3GraphVertex() = default;
|
||||
void unlinkEdges(V3Graph* graphp);
|
||||
void unlinkDelete(V3Graph* graphp);
|
||||
|
||||
@ -317,7 +317,7 @@ public:
|
||||
virtual V3GraphEdge* clone(V3Graph* graphp, V3GraphVertex* fromp, V3GraphVertex* top) const {
|
||||
return new V3GraphEdge(graphp, fromp, top, *this);
|
||||
}
|
||||
virtual ~V3GraphEdge() {}
|
||||
virtual ~V3GraphEdge() = default;
|
||||
// METHODS
|
||||
virtual string name() const { return m_fromp->name() + "->" + m_top->name(); }
|
||||
virtual string dotLabel() const { return ""; }
|
||||
|
@ -42,7 +42,7 @@ public:
|
||||
GraphAcycVertex(V3Graph* graphp, V3GraphVertex* origVertexp)
|
||||
: V3GraphVertex{graphp}
|
||||
, m_origVertexp{origVertexp} {}
|
||||
virtual ~GraphAcycVertex() override {}
|
||||
virtual ~GraphAcycVertex() override = default;
|
||||
V3GraphVertex* origVertexp() const { return m_origVertexp; }
|
||||
void setDelete() { m_deleted = true; }
|
||||
bool isDelete() const { return m_deleted; }
|
||||
@ -67,7 +67,7 @@ public:
|
||||
GraphAcycEdge(V3Graph* graphp, V3GraphVertex* fromp, V3GraphVertex* top, int weight,
|
||||
bool cutable = false)
|
||||
: V3GraphEdge{graphp, fromp, top, weight, cutable} {}
|
||||
virtual ~GraphAcycEdge() override {}
|
||||
virtual ~GraphAcycEdge() override = default;
|
||||
// yellow=we might still cut it, else oldEdge: yellowGreen=made uncutable, red=uncutable
|
||||
virtual string dotColor() const override {
|
||||
return (cutable() ? "yellow" : origEdgep()->dotColor());
|
||||
|
@ -123,7 +123,7 @@ public:
|
||||
, m_sumWeights{sumWeights} {
|
||||
main();
|
||||
}
|
||||
~GraphRemoveRedundant() {}
|
||||
~GraphRemoveRedundant() = default;
|
||||
};
|
||||
|
||||
void V3Graph::removeRedundantEdges(V3EdgeFuncP edgeFuncp) {
|
||||
@ -200,7 +200,7 @@ public:
|
||||
: GraphAlg<>(graphp, edgeFuncp) {
|
||||
main();
|
||||
}
|
||||
~GraphAlgWeakly() {}
|
||||
~GraphAlgWeakly() = default;
|
||||
};
|
||||
|
||||
void V3Graph::weaklyConnected(V3EdgeFuncP edgeFuncp) { GraphAlgWeakly(this, edgeFuncp); }
|
||||
@ -288,7 +288,7 @@ public:
|
||||
m_currentDfs = 0;
|
||||
main();
|
||||
}
|
||||
~GraphAlgStrongly() {}
|
||||
~GraphAlgStrongly() = default;
|
||||
};
|
||||
|
||||
void V3Graph::stronglyConnected(V3EdgeFuncP edgeFuncp) { GraphAlgStrongly(this, edgeFuncp); }
|
||||
@ -339,7 +339,7 @@ public:
|
||||
: GraphAlg<>{graphp, edgeFuncp} {
|
||||
main();
|
||||
}
|
||||
~GraphAlgRank() {}
|
||||
~GraphAlgRank() = default;
|
||||
};
|
||||
|
||||
void V3Graph::rank() { GraphAlgRank(this, &V3GraphEdge::followAlwaysTrue); }
|
||||
@ -393,7 +393,7 @@ public:
|
||||
m_done = false;
|
||||
main(vertexp);
|
||||
}
|
||||
~GraphAlgRLoops() {}
|
||||
~GraphAlgRLoops() = default;
|
||||
};
|
||||
|
||||
void V3Graph::reportLoops(V3EdgeFuncP edgeFuncp, V3GraphVertex* vertexp) {
|
||||
@ -441,7 +441,7 @@ public:
|
||||
m_graphp->userClearEdges();
|
||||
(void)vertexIterateAll(vertexp);
|
||||
}
|
||||
~GraphAlgSubtrees() {}
|
||||
~GraphAlgSubtrees() = default;
|
||||
};
|
||||
|
||||
//! Report the entire connected graph with a loop or loops
|
||||
|
@ -36,7 +36,7 @@ protected:
|
||||
GraphAlg(T_Graph* graphp, V3EdgeFuncP edgeFuncp)
|
||||
: m_graphp{graphp}
|
||||
, m_edgeFuncp{edgeFuncp} {}
|
||||
~GraphAlg() {}
|
||||
~GraphAlg() = default;
|
||||
// METHODS
|
||||
inline bool followEdge(V3GraphEdge* edgep) {
|
||||
return (edgep->weight() && (m_edgeFuncp)(edgep));
|
||||
|
@ -368,7 +368,7 @@ public:
|
||||
m_step = 0;
|
||||
main();
|
||||
}
|
||||
~GraphNfaToDfa() {}
|
||||
~GraphNfaToDfa() = default;
|
||||
};
|
||||
|
||||
void DfaGraph::nfaToDfa() { GraphNfaToDfa(this, &V3GraphEdge::followAlwaysTrue); }
|
||||
@ -502,7 +502,7 @@ public:
|
||||
optimize_no_outbound();
|
||||
if (debug() >= 6) m_graphp->dumpDotFilePrefixed("opt_noout");
|
||||
}
|
||||
~DfaGraphReduce() {}
|
||||
~DfaGraphReduce() = default;
|
||||
};
|
||||
|
||||
void DfaGraph::dfaReduce() { DfaGraphReduce(this, &V3GraphEdge::followAlwaysTrue); }
|
||||
@ -598,7 +598,7 @@ public:
|
||||
VL_DO_CLEAR(m_tempNewerReject->unlinkDelete(graphp()), m_tempNewerReject = nullptr);
|
||||
if (debug() >= 6) m_graphp->dumpDotFilePrefixed("comp_out");
|
||||
}
|
||||
~DfaGraphComplement() {}
|
||||
~DfaGraphComplement() = default;
|
||||
VL_UNCOPYABLE(DfaGraphComplement);
|
||||
};
|
||||
|
||||
|
@ -61,8 +61,8 @@ class DfaEdge;
|
||||
class DfaGraph : public V3Graph {
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
DfaGraph() {}
|
||||
virtual ~DfaGraph() override {}
|
||||
DfaGraph() = default;
|
||||
virtual ~DfaGraph() override = default;
|
||||
// METHODS
|
||||
/// Find start node
|
||||
DfaVertex* findStart();
|
||||
@ -93,7 +93,7 @@ public:
|
||||
virtual DfaVertex* clone(DfaGraph* graphp) {
|
||||
return new DfaVertex(graphp, start(), accepting());
|
||||
}
|
||||
virtual ~DfaVertex() override {}
|
||||
virtual ~DfaVertex() override = default;
|
||||
// ACCESSORS
|
||||
virtual string dotShape() const override { return (accepting() ? "doublecircle" : ""); }
|
||||
virtual string dotColor() const override {
|
||||
@ -128,7 +128,7 @@ public:
|
||||
: V3GraphEdge{graphp, fromp, top, copyfrom->weight()}
|
||||
, m_input{copyfrom->input()}
|
||||
, m_complement{copyfrom->complement()} {}
|
||||
virtual ~DfaEdge() override {}
|
||||
virtual ~DfaEdge() override = default;
|
||||
// METHODS
|
||||
virtual string dotColor() const override {
|
||||
return (na() ? "yellow" : epsilon() ? "green" : "black");
|
||||
|
@ -44,7 +44,7 @@ struct GraphPCNode {
|
||||
GraphPCNode() {
|
||||
for (unsigned int& w : m_cp) w = 0;
|
||||
}
|
||||
~GraphPCNode() {}
|
||||
~GraphPCNode() = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -132,7 +132,7 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
~GraphStream() {}
|
||||
~GraphStream() = default;
|
||||
|
||||
// METHODS
|
||||
|
||||
|
@ -40,8 +40,8 @@ protected:
|
||||
}
|
||||
|
||||
public:
|
||||
V3GraphTest() {}
|
||||
virtual ~V3GraphTest() {}
|
||||
V3GraphTest() = default;
|
||||
virtual ~V3GraphTest() = default;
|
||||
VL_DEBUG_FUNC; // Declare debug()
|
||||
void run() { runTest(); }
|
||||
};
|
||||
@ -57,7 +57,7 @@ public:
|
||||
V3GraphTestVertex(V3Graph* graphp, const string& name)
|
||||
: V3GraphVertex{graphp}
|
||||
, m_name{name} {}
|
||||
virtual ~V3GraphTestVertex() override {}
|
||||
virtual ~V3GraphTestVertex() override = default;
|
||||
// ACCESSORS
|
||||
virtual string name() const override { return m_name; }
|
||||
};
|
||||
@ -66,7 +66,7 @@ class V3GraphTestVarVertex : public V3GraphTestVertex {
|
||||
public:
|
||||
V3GraphTestVarVertex(V3Graph* graphp, const string& name)
|
||||
: V3GraphTestVertex{graphp, name} {}
|
||||
virtual ~V3GraphTestVarVertex() override {}
|
||||
virtual ~V3GraphTestVarVertex() override = default;
|
||||
// ACCESSORS
|
||||
virtual string dotColor() const override { return "blue"; }
|
||||
};
|
||||
@ -267,7 +267,7 @@ public:
|
||||
DfaTestVertex(DfaGraph* graphp, const string& name)
|
||||
: DfaVertex{graphp}
|
||||
, m_name{name} {}
|
||||
virtual ~DfaTestVertex() override {}
|
||||
virtual ~DfaTestVertex() override = default;
|
||||
// ACCESSORS
|
||||
virtual string name() const override { return m_name; }
|
||||
};
|
||||
|
@ -102,7 +102,7 @@ public:
|
||||
nodeHashIterate(const_cast<AstNode*>(nodep));
|
||||
}
|
||||
V3Hash finalHash() const { return m_lowerHash; }
|
||||
virtual ~HashedVisitor() override {}
|
||||
virtual ~HashedVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -27,8 +27,8 @@
|
||||
class VHashedBase {
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
VHashedBase() {}
|
||||
~VHashedBase() {}
|
||||
VHashedBase() = default;
|
||||
~VHashedBase() = default;
|
||||
|
||||
// METHODS
|
||||
VL_DEBUG_FUNC; // Declare debug()
|
||||
@ -39,8 +39,8 @@ public:
|
||||
struct V3HashedUserSame {
|
||||
// Functor for V3Hashed::findDuplicate
|
||||
virtual bool isSame(AstNode*, AstNode*) = 0;
|
||||
V3HashedUserSame() {}
|
||||
virtual ~V3HashedUserSame() {}
|
||||
V3HashedUserSame() = default;
|
||||
virtual ~V3HashedUserSame() = default;
|
||||
};
|
||||
|
||||
class V3Hashed : public VHashedBase {
|
||||
@ -60,7 +60,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
V3Hashed() { clear(); }
|
||||
~V3Hashed() {}
|
||||
~V3Hashed() = default;
|
||||
|
||||
// ACCESSORS
|
||||
HashMmap& mmap() { return m_hashMmap; } // Return map for iteration
|
||||
|
@ -304,8 +304,6 @@ public:
|
||||
|
||||
//######################################################################
|
||||
|
||||
V3HierBlockPlan::V3HierBlockPlan() {}
|
||||
|
||||
bool V3HierBlockPlan::isHierBlock(const AstNodeModule* modp) const {
|
||||
return m_blocks.find(modp) != m_blocks.end();
|
||||
}
|
||||
|
@ -99,7 +99,7 @@ class V3HierBlockPlan {
|
||||
typedef std::map<const AstNodeModule*, V3HierBlock*> HierMap;
|
||||
HierMap m_blocks;
|
||||
|
||||
V3HierBlockPlan();
|
||||
V3HierBlockPlan() = default;
|
||||
VL_UNCOPYABLE(V3HierBlockPlan);
|
||||
|
||||
public:
|
||||
|
@ -254,7 +254,7 @@ public:
|
||||
explicit InlineCollectVisitor(AstNodeModule* nodep) { // passed OLD module, not new one
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~InlineCollectVisitor() override {}
|
||||
virtual ~InlineCollectVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -474,7 +474,7 @@ public:
|
||||
, m_cellp{cellp} {
|
||||
iterate(cloneModp);
|
||||
}
|
||||
virtual ~InlineRelinkVisitor() override {}
|
||||
virtual ~InlineRelinkVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -702,7 +702,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit InlineIntfRefVisitor(AstNode* nodep) { iterate(nodep); }
|
||||
virtual ~InlineIntfRefVisitor() override {}
|
||||
virtual ~InlineIntfRefVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -132,7 +132,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit InstVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~InstVisitor() override {}
|
||||
virtual ~InstVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -178,13 +178,13 @@ public:
|
||||
}
|
||||
|
||||
// CONSTRUCTORS
|
||||
explicit InstDeModVarVisitor() {}
|
||||
InstDeModVarVisitor() = default;
|
||||
virtual ~InstDeModVarVisitor() override = default;
|
||||
void main(AstNodeModule* nodep) {
|
||||
UINFO(8, " dmMODULE " << nodep << endl);
|
||||
m_modVarNameMap.clear();
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~InstDeModVarVisitor() override {}
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -466,7 +466,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit InstDeVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~InstDeVisitor() override {}
|
||||
virtual ~InstDeVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -475,7 +475,7 @@ public:
|
||||
class InstStatic {
|
||||
private:
|
||||
VL_DEBUG_FUNC; // Declare debug()
|
||||
InstStatic() {} // Static class
|
||||
InstStatic() = default; // Static class
|
||||
|
||||
static AstNode* extendOrSel(FileLine* fl, AstNode* rhsp, AstNode* cmpWidthp) {
|
||||
if (cmpWidthp->width() > rhsp->width()) {
|
||||
|
@ -74,7 +74,7 @@ public:
|
||||
, m_osp{osp} {
|
||||
if (nodep) iterate(nodep);
|
||||
}
|
||||
virtual ~InstrCountVisitor() override {}
|
||||
virtual ~InstrCountVisitor() override = default;
|
||||
|
||||
// METHODS
|
||||
uint32_t instrCount() const { return m_instrCount; }
|
||||
@ -275,7 +275,7 @@ public:
|
||||
UASSERT_OBJ(osp, nodep, "Don't call if not dumping");
|
||||
if (nodep) iterate(nodep);
|
||||
}
|
||||
virtual ~InstrCountDumpVisitor() override {}
|
||||
virtual ~InstrCountDumpVisitor() override = default;
|
||||
|
||||
private:
|
||||
// METHODS
|
||||
|
@ -50,7 +50,7 @@ public:
|
||||
std::vector<AstNode*> m_unlinkps;
|
||||
|
||||
// CONSTRUCTORS
|
||||
LifeState() {}
|
||||
LifeState() = default;
|
||||
~LifeState() {
|
||||
V3Stats::addStatSum("Optimizations, Lifetime assign deletions", m_statAssnDel);
|
||||
V3Stats::addStatSum("Optimizations, Lifetime constant prop", m_statAssnCon);
|
||||
@ -92,7 +92,7 @@ public:
|
||||
: m_setBeforeUse{false} {
|
||||
consumed();
|
||||
}
|
||||
~LifeVarEntry() {}
|
||||
~LifeVarEntry() = default;
|
||||
inline void simpleAssign(AstNodeAssign* assp) { // New simple A=.... assignment
|
||||
m_assignp = assp;
|
||||
m_constp = nullptr;
|
||||
@ -135,7 +135,7 @@ public:
|
||||
m_aboveLifep = aboveLifep; // Null if top
|
||||
m_statep = statep;
|
||||
}
|
||||
~LifeBlock() {}
|
||||
~LifeBlock() = default;
|
||||
// METHODS
|
||||
void checkRemoveAssign(const LifeMap::iterator& it) {
|
||||
AstVar* varp = it->first->varp();
|
||||
@ -479,7 +479,7 @@ public:
|
||||
: m_statep{statep} {
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~LifeTopVisitor() override {}
|
||||
virtual ~LifeTopVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -91,7 +91,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit LifePostElimVisitor(AstTopScope* nodep) { iterate(nodep); }
|
||||
virtual ~LifePostElimVisitor() override {}
|
||||
virtual ~LifePostElimVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -103,7 +103,7 @@ struct LifeLocation {
|
||||
uint32_t sequence = 0;
|
||||
|
||||
public:
|
||||
LifeLocation() {}
|
||||
LifeLocation() = default;
|
||||
LifeLocation(const ExecMTask* mtaskp_, uint32_t sequence_)
|
||||
: mtaskp{mtaskp_}
|
||||
, sequence{sequence_} {}
|
||||
@ -119,7 +119,7 @@ public:
|
||||
struct LifePostLocation {
|
||||
LifeLocation loc;
|
||||
AstAssignPost* nodep = nullptr;
|
||||
LifePostLocation() {}
|
||||
LifePostLocation() = default;
|
||||
LifePostLocation(LifeLocation loc_, AstAssignPost* nodep_)
|
||||
: loc{loc_}
|
||||
, nodep{nodep_} {}
|
||||
|
@ -43,8 +43,8 @@
|
||||
|
||||
class LinkCellsGraph : public V3Graph {
|
||||
public:
|
||||
LinkCellsGraph() {}
|
||||
virtual ~LinkCellsGraph() override {}
|
||||
LinkCellsGraph() = default;
|
||||
virtual ~LinkCellsGraph() override = default;
|
||||
virtual void loopsMessageCb(V3GraphVertex* vertexp) override;
|
||||
};
|
||||
|
||||
@ -55,7 +55,7 @@ public:
|
||||
LinkCellsVertex(V3Graph* graphp, AstNodeModule* modp)
|
||||
: V3GraphVertex{graphp}
|
||||
, m_modp{modp} {}
|
||||
virtual ~LinkCellsVertex() override {}
|
||||
virtual ~LinkCellsVertex() override = default;
|
||||
AstNodeModule* modp() const { return m_modp; }
|
||||
virtual string name() const override { return modp()->name(); }
|
||||
virtual FileLine* fileline() const override { return modp()->fileline(); }
|
||||
@ -69,7 +69,7 @@ class LibraryVertex : public V3GraphVertex {
|
||||
public:
|
||||
explicit LibraryVertex(V3Graph* graphp)
|
||||
: V3GraphVertex{graphp} {}
|
||||
virtual ~LibraryVertex() override {}
|
||||
virtual ~LibraryVertex() override = default;
|
||||
virtual string name() const override { return "*LIBRARY*"; }
|
||||
};
|
||||
|
||||
@ -517,7 +517,7 @@ public:
|
||||
}
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~LinkCellsVisitor() override {}
|
||||
virtual ~LinkCellsVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -1314,7 +1314,7 @@ public:
|
||||
|
||||
iterate(rootp);
|
||||
}
|
||||
virtual ~LinkDotFindVisitor() override {}
|
||||
virtual ~LinkDotFindVisitor() override = default;
|
||||
};
|
||||
|
||||
//======================================================================
|
||||
@ -1479,7 +1479,7 @@ public:
|
||||
UINFO(4, __FUNCTION__ << ": " << endl);
|
||||
iterate(rootp);
|
||||
}
|
||||
virtual ~LinkDotParamVisitor() override {}
|
||||
virtual ~LinkDotParamVisitor() override = default;
|
||||
};
|
||||
|
||||
//======================================================================
|
||||
@ -1637,7 +1637,7 @@ public:
|
||||
UINFO(4, __FUNCTION__ << ": " << endl);
|
||||
iterate(rootp);
|
||||
}
|
||||
virtual ~LinkDotScopeVisitor() override {}
|
||||
virtual ~LinkDotScopeVisitor() override = default;
|
||||
};
|
||||
|
||||
//======================================================================
|
||||
@ -1722,7 +1722,7 @@ public:
|
||||
m_statep = statep;
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~LinkDotIfaceVisitor() override {}
|
||||
virtual ~LinkDotIfaceVisitor() override = default;
|
||||
};
|
||||
|
||||
void LinkDotState::computeIfaceModSyms() {
|
||||
@ -1777,7 +1777,7 @@ private:
|
||||
bool m_dotErr; // Error found in dotted resolution, ignore upwards
|
||||
string m_dotText; // String of dotted names found in below parseref
|
||||
DotStates() { init(nullptr); }
|
||||
~DotStates() {}
|
||||
~DotStates() = default;
|
||||
void init(VSymEnt* curSymp) {
|
||||
m_dotPos = DP_NONE;
|
||||
m_dotSymp = curSymp;
|
||||
@ -2919,7 +2919,7 @@ public:
|
||||
UINFO(4, __FUNCTION__ << ": " << endl);
|
||||
iterate(rootp);
|
||||
}
|
||||
virtual ~LinkDotResolveVisitor() override {}
|
||||
virtual ~LinkDotResolveVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -238,7 +238,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit LinkIncVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~LinkIncVisitor() override {}
|
||||
virtual ~LinkIncVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -282,7 +282,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit LinkJumpVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~LinkJumpVisitor() override {}
|
||||
virtual ~LinkJumpVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -290,7 +290,7 @@ public:
|
||||
: m_setRefLvalue{start} {
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~LinkLValueVisitor() override {}
|
||||
virtual ~LinkLValueVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -606,7 +606,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit LinkParseVisitor(AstNetlist* rootp) { iterate(rootp); }
|
||||
virtual ~LinkParseVisitor() override {}
|
||||
virtual ~LinkParseVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -517,7 +517,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit LinkResolveVisitor(AstNetlist* rootp) { iterate(rootp); }
|
||||
virtual ~LinkResolveVisitor() override {}
|
||||
virtual ~LinkResolveVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -556,7 +556,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit LinkBotupVisitor(AstNetlist* rootp) { iterate(rootp); }
|
||||
virtual ~LinkBotupVisitor() override {}
|
||||
virtual ~LinkBotupVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -36,8 +36,8 @@ private:
|
||||
friend class V3ListEnt<T>;
|
||||
|
||||
public:
|
||||
V3List() {}
|
||||
~V3List() {}
|
||||
V3List() = default;
|
||||
~V3List() = default;
|
||||
// METHODS
|
||||
T begin() const { return m_headp; }
|
||||
T end() const { return nullptr; }
|
||||
@ -65,7 +65,7 @@ private:
|
||||
}
|
||||
|
||||
public:
|
||||
V3ListEnt() {}
|
||||
V3ListEnt() = default;
|
||||
~V3ListEnt() {
|
||||
#ifdef VL_DEBUG
|
||||
// Load bogus pointers so we can catch deletion bugs
|
||||
|
@ -85,7 +85,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit LocalizeDehierVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~LocalizeDehierVisitor() override {}
|
||||
virtual ~LocalizeDehierVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -86,7 +86,7 @@ private:
|
||||
}
|
||||
|
||||
public:
|
||||
CheckMergeableVisitor() {}
|
||||
CheckMergeableVisitor() = default;
|
||||
|
||||
// Return false if this node should not be merged at all because:
|
||||
// - It contains an impure expression
|
||||
|
@ -136,7 +136,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit NameVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~NameVisitor() override {}
|
||||
virtual ~NameVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -99,8 +99,8 @@ public:
|
||||
m_libExtVs.push_back(libext);
|
||||
}
|
||||
}
|
||||
V3OptionsImp() {}
|
||||
~V3OptionsImp() {}
|
||||
V3OptionsImp() = default;
|
||||
~V3OptionsImp() = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -219,7 +219,7 @@ public:
|
||||
OrderUser() {
|
||||
for (auto& vertexp : m_vertexp) vertexp = nullptr;
|
||||
}
|
||||
~OrderUser() {}
|
||||
~OrderUser() = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -366,7 +366,7 @@ public:
|
||||
iterate(nodep);
|
||||
} while (m_newClkMarked);
|
||||
}
|
||||
virtual ~OrderClkMarkVisitor() override {}
|
||||
virtual ~OrderClkMarkVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -397,7 +397,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit OrderClkAssVisitor(AstNode* nodep) { iterate(nodep); }
|
||||
virtual ~OrderClkAssVisitor() override {}
|
||||
virtual ~OrderClkAssVisitor() override = default;
|
||||
// METHODS
|
||||
bool isClkAss() const { return m_clkAss; }
|
||||
};
|
||||
@ -457,7 +457,7 @@ public:
|
||||
: m_graphp{logicGraphp}
|
||||
, m_outGraphp{outGraphp}
|
||||
, m_vxMakerp{vxMakerp} {}
|
||||
virtual ~ProcessMoveBuildGraph() {}
|
||||
virtual ~ProcessMoveBuildGraph() = default;
|
||||
|
||||
// METHODS
|
||||
void build() {
|
||||
@ -621,8 +621,8 @@ public:
|
||||
|
||||
class MTaskVxIdLessThan {
|
||||
public:
|
||||
MTaskVxIdLessThan() {}
|
||||
virtual ~MTaskVxIdLessThan() {}
|
||||
MTaskVxIdLessThan() = default;
|
||||
virtual ~MTaskVxIdLessThan() = default;
|
||||
|
||||
// Sort vertex's, which must be AbstractMTask's, into a deterministic
|
||||
// order by comparing their serial IDs.
|
||||
@ -755,7 +755,7 @@ private:
|
||||
AstMTaskBody* m_mtaskBodyp = nullptr;
|
||||
Logics m_logics;
|
||||
ExecMTask* m_execMTaskp = nullptr;
|
||||
MTaskState() {}
|
||||
MTaskState() = default;
|
||||
};
|
||||
void processMTasks();
|
||||
typedef enum : uint8_t { LOGIC_INITIAL, LOGIC_SETTLE } InitialLogicE;
|
||||
|
@ -112,8 +112,8 @@ inline bool operator==(OrderVEdgeType::en lhs, const OrderVEdgeType& rhs) {
|
||||
|
||||
class OrderGraph : public V3Graph {
|
||||
public:
|
||||
OrderGraph() {}
|
||||
virtual ~OrderGraph() override {}
|
||||
OrderGraph() = default;
|
||||
virtual ~OrderGraph() override = default;
|
||||
// Methods
|
||||
virtual void loopsVertexCb(V3GraphVertex* vertexp) override;
|
||||
};
|
||||
@ -137,7 +137,7 @@ public:
|
||||
: V3GraphVertex{graphp}
|
||||
, m_scopep{scopep}
|
||||
, m_domainp{domainp} {}
|
||||
virtual ~OrderEitherVertex() override {}
|
||||
virtual ~OrderEitherVertex() override = default;
|
||||
virtual OrderEitherVertex* clone(V3Graph* graphp) const override = 0;
|
||||
// Methods
|
||||
virtual OrderVEdgeType type() const = 0;
|
||||
@ -160,7 +160,7 @@ public:
|
||||
: OrderEitherVertex{graphp, nullptr, domainp} {
|
||||
isFromInput(true); // By definition
|
||||
}
|
||||
virtual ~OrderInputsVertex() override {}
|
||||
virtual ~OrderInputsVertex() override = default;
|
||||
virtual OrderInputsVertex* clone(V3Graph* graphp) const override {
|
||||
return new OrderInputsVertex(graphp, *this);
|
||||
}
|
||||
@ -183,7 +183,7 @@ public:
|
||||
OrderLogicVertex(V3Graph* graphp, AstScope* scopep, AstSenTree* domainp, AstNode* nodep)
|
||||
: OrderEitherVertex{graphp, scopep, domainp}
|
||||
, m_nodep{nodep} {}
|
||||
virtual ~OrderLogicVertex() override {}
|
||||
virtual ~OrderLogicVertex() override = default;
|
||||
virtual OrderLogicVertex* clone(V3Graph* graphp) const override {
|
||||
return new OrderLogicVertex(graphp, *this);
|
||||
}
|
||||
@ -212,7 +212,7 @@ public:
|
||||
OrderVarVertex(V3Graph* graphp, AstScope* scopep, AstVarScope* varScp)
|
||||
: OrderEitherVertex{graphp, scopep, nullptr}
|
||||
, m_varScp{varScp} {}
|
||||
virtual ~OrderVarVertex() override {}
|
||||
virtual ~OrderVarVertex() override = default;
|
||||
virtual OrderVarVertex* clone(V3Graph* graphp) const override = 0;
|
||||
virtual OrderVEdgeType type() const override = 0;
|
||||
virtual FileLine* fileline() const override { return varScp()->fileline(); }
|
||||
@ -231,7 +231,7 @@ class OrderVarStdVertex : public OrderVarVertex {
|
||||
public:
|
||||
OrderVarStdVertex(V3Graph* graphp, AstScope* scopep, AstVarScope* varScp)
|
||||
: OrderVarVertex{graphp, scopep, varScp} {}
|
||||
virtual ~OrderVarStdVertex() override {}
|
||||
virtual ~OrderVarStdVertex() override = default;
|
||||
virtual OrderVarStdVertex* clone(V3Graph* graphp) const override {
|
||||
return new OrderVarStdVertex(graphp, *this);
|
||||
}
|
||||
@ -249,7 +249,7 @@ class OrderVarPreVertex : public OrderVarVertex {
|
||||
public:
|
||||
OrderVarPreVertex(V3Graph* graphp, AstScope* scopep, AstVarScope* varScp)
|
||||
: OrderVarVertex{graphp, scopep, varScp} {}
|
||||
virtual ~OrderVarPreVertex() override {}
|
||||
virtual ~OrderVarPreVertex() override = default;
|
||||
virtual OrderVarPreVertex* clone(V3Graph* graphp) const override {
|
||||
return new OrderVarPreVertex(graphp, *this);
|
||||
}
|
||||
@ -271,7 +271,7 @@ public:
|
||||
return new OrderVarPostVertex(graphp, *this);
|
||||
}
|
||||
virtual OrderVEdgeType type() const override { return OrderVEdgeType::VERTEX_VARPOST; }
|
||||
virtual ~OrderVarPostVertex() override {}
|
||||
virtual ~OrderVarPostVertex() override = default;
|
||||
virtual string name() const override {
|
||||
return (cvtToHex(varScp()) + " POST\\n " + varScp()->name());
|
||||
}
|
||||
@ -285,7 +285,7 @@ class OrderVarPordVertex : public OrderVarVertex {
|
||||
public:
|
||||
OrderVarPordVertex(V3Graph* graphp, AstScope* scopep, AstVarScope* varScp)
|
||||
: OrderVarVertex{graphp, scopep, varScp} {}
|
||||
virtual ~OrderVarPordVertex() override {}
|
||||
virtual ~OrderVarPordVertex() override = default;
|
||||
virtual OrderVarPordVertex* clone(V3Graph* graphp) const override {
|
||||
return new OrderVarPordVertex(graphp, *this);
|
||||
}
|
||||
@ -303,7 +303,7 @@ class OrderVarSettleVertex : public OrderVarVertex {
|
||||
public:
|
||||
OrderVarSettleVertex(V3Graph* graphp, AstScope* scopep, AstVarScope* varScp)
|
||||
: OrderVarVertex{graphp, scopep, varScp} {}
|
||||
virtual ~OrderVarSettleVertex() override {}
|
||||
virtual ~OrderVarSettleVertex() override = default;
|
||||
virtual OrderVarSettleVertex* clone(V3Graph* graphp) const override {
|
||||
return new OrderVarSettleVertex(graphp, *this);
|
||||
}
|
||||
@ -339,7 +339,7 @@ public:
|
||||
, m_logicp{logicp}
|
||||
, m_state{POM_WAIT}
|
||||
, m_domScopep{nullptr} {}
|
||||
virtual ~OrderMoveVertex() override {}
|
||||
virtual ~OrderMoveVertex() override = default;
|
||||
virtual OrderMoveVertex* clone(V3Graph* graphp) const override {
|
||||
v3fatalSrc("Unsupported");
|
||||
return nullptr;
|
||||
@ -409,7 +409,7 @@ public:
|
||||
, m_domainp{domainp} {
|
||||
UASSERT(!(logicp && varp), "MTaskMoveVertex: logicp and varp may not both be set!\n");
|
||||
}
|
||||
virtual ~MTaskMoveVertex() override {}
|
||||
virtual ~MTaskMoveVertex() override = default;
|
||||
virtual MTaskMoveVertex* clone(V3Graph* graphp) const override {
|
||||
v3fatalSrc("Unsupported");
|
||||
return nullptr;
|
||||
@ -454,7 +454,7 @@ public:
|
||||
OrderEdge(V3Graph* graphp, V3GraphVertex* fromp, V3GraphVertex* top, int weight,
|
||||
bool cutable = false)
|
||||
: V3GraphEdge{graphp, fromp, top, weight, cutable} {}
|
||||
virtual ~OrderEdge() override {}
|
||||
virtual ~OrderEdge() override = default;
|
||||
virtual OrderVEdgeType type() const { return OrderVEdgeType::EDGE_STD; }
|
||||
virtual OrderEdge* clone(V3Graph* graphp, V3GraphVertex* fromp,
|
||||
V3GraphVertex* top) const override {
|
||||
@ -482,7 +482,7 @@ public:
|
||||
OrderComboCutEdge(V3Graph* graphp, V3GraphVertex* fromp, V3GraphVertex* top)
|
||||
: OrderEdge{graphp, fromp, top, WEIGHT_COMBO, CUTABLE} {}
|
||||
virtual OrderVEdgeType type() const override { return OrderVEdgeType::EDGE_COMBOCUT; }
|
||||
virtual ~OrderComboCutEdge() override {}
|
||||
virtual ~OrderComboCutEdge() override = default;
|
||||
virtual OrderComboCutEdge* clone(V3Graph* graphp, V3GraphVertex* fromp,
|
||||
V3GraphVertex* top) const override {
|
||||
return new OrderComboCutEdge(graphp, fromp, top, *this);
|
||||
@ -503,7 +503,7 @@ public:
|
||||
OrderPostCutEdge(V3Graph* graphp, V3GraphVertex* fromp, V3GraphVertex* top)
|
||||
: OrderEdge{graphp, fromp, top, WEIGHT_COMBO, CUTABLE} {}
|
||||
virtual OrderVEdgeType type() const override { return OrderVEdgeType::EDGE_POSTCUT; }
|
||||
virtual ~OrderPostCutEdge() override {}
|
||||
virtual ~OrderPostCutEdge() override = default;
|
||||
virtual OrderPostCutEdge* clone(V3Graph* graphp, V3GraphVertex* fromp,
|
||||
V3GraphVertex* top) const override {
|
||||
return new OrderPostCutEdge(graphp, fromp, top, *this);
|
||||
@ -528,7 +528,7 @@ public:
|
||||
V3GraphVertex* top) const override {
|
||||
return new OrderPreCutEdge(graphp, fromp, top, *this);
|
||||
}
|
||||
virtual ~OrderPreCutEdge() override {}
|
||||
virtual ~OrderPreCutEdge() override = default;
|
||||
virtual string dotColor() const override { return "khaki"; }
|
||||
virtual bool followComboConnected() const override { return false; }
|
||||
};
|
||||
|
@ -785,7 +785,7 @@ public:
|
||||
//
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~ParamVisitor() override {}
|
||||
virtual ~ParamVisitor() override = default;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -37,7 +37,7 @@ public:
|
||||
// CONSTRUCTORS
|
||||
V3Lexer()
|
||||
: V3LexerBase{nullptr} {}
|
||||
~V3Lexer() override {}
|
||||
~V3Lexer() override = default;
|
||||
// METHODS
|
||||
void unputString(const char* textp, size_t length) {
|
||||
// Add characters to input stream in back-to-front order
|
||||
|
@ -50,7 +50,7 @@ public:
|
||||
pushScope(findNewTable(rootp));
|
||||
m_symCurrentp = symCurrentp();
|
||||
}
|
||||
~V3ParseSym() {}
|
||||
~V3ParseSym() = default;
|
||||
|
||||
private:
|
||||
// METHODS
|
||||
|
@ -253,8 +253,8 @@ private:
|
||||
CpMap m_seen; // Set of vertices we've seen
|
||||
|
||||
// CONSTRUCTORS
|
||||
PartPropagateCpSelfTest() {}
|
||||
~PartPropagateCpSelfTest() {}
|
||||
PartPropagateCpSelfTest() = default;
|
||||
~PartPropagateCpSelfTest() = default;
|
||||
|
||||
// METHODS
|
||||
protected:
|
||||
@ -368,8 +368,8 @@ public:
|
||||
// in the future, using another Accessor adaptor.
|
||||
class CpCostAccessor {
|
||||
public:
|
||||
CpCostAccessor() {}
|
||||
~CpCostAccessor() {}
|
||||
CpCostAccessor() = default;
|
||||
~CpCostAccessor() = default;
|
||||
// Return cost of this node
|
||||
uint32_t cost(const V3GraphVertex* vxp) const {
|
||||
const LogicMTask* mtaskp = dynamic_cast<const LogicMTask*>(vxp);
|
||||
@ -692,8 +692,8 @@ private:
|
||||
// which is a unique and stable serial number.
|
||||
class MTaskIdLessThan {
|
||||
public:
|
||||
MTaskIdLessThan() {}
|
||||
virtual ~MTaskIdLessThan() {}
|
||||
MTaskIdLessThan() = default;
|
||||
virtual ~MTaskIdLessThan() = default;
|
||||
virtual bool operator()(const AbstractMTask* lhsp, const AbstractMTask* rhsp) const {
|
||||
return lhsp->id() < rhsp->id();
|
||||
}
|
||||
@ -739,7 +739,7 @@ public:
|
||||
m_bp = ap;
|
||||
}
|
||||
}
|
||||
virtual ~SiblingMC() {}
|
||||
virtual ~SiblingMC() = default;
|
||||
// METHODS
|
||||
LogicMTask* ap() const { return m_ap; }
|
||||
LogicMTask* bp() const { return m_bp; }
|
||||
@ -1663,7 +1663,7 @@ public:
|
||||
// CONSTRUCTORS
|
||||
explicit DpiImportCallVisitor(AstNode* nodep) { iterate(nodep); }
|
||||
bool hasDpiHazard() const { return m_hasDpiHazard; }
|
||||
virtual ~DpiImportCallVisitor() override {}
|
||||
virtual ~DpiImportCallVisitor() override = default;
|
||||
|
||||
private:
|
||||
VL_UNCOPYABLE(DpiImportCallVisitor);
|
||||
@ -2052,7 +2052,7 @@ public:
|
||||
, m_sandbagNumerator{sandbagNumerator}
|
||||
, m_sandbagDenom{sandbagDenom}
|
||||
, m_ready{m_mtaskCmp} {}
|
||||
~PartPackMTasks() {}
|
||||
~PartPackMTasks() = default;
|
||||
|
||||
// METHODS
|
||||
uint32_t completionTime(const ExecMTask* mtaskp, uint32_t thread) {
|
||||
|
@ -41,7 +41,7 @@ public:
|
||||
// CONSTRUCTORS
|
||||
explicit V3Partition(V3Graph* fineDepsGraphp)
|
||||
: m_fineDepsGraphp{fineDepsGraphp} {}
|
||||
~V3Partition() {}
|
||||
~V3Partition() = default;
|
||||
|
||||
// METHODS
|
||||
|
||||
@ -83,7 +83,7 @@ private:
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
PartPtrIdMap() {}
|
||||
PartPtrIdMap() = default;
|
||||
// METHODS
|
||||
vluint64_t findId(const void* ptrp) const {
|
||||
const auto it = m_id.find(ptrp);
|
||||
|
@ -32,7 +32,7 @@ class AbstractMTask : public V3GraphVertex {
|
||||
public:
|
||||
AbstractMTask(V3Graph* graphp)
|
||||
: V3GraphVertex{graphp} {}
|
||||
virtual ~AbstractMTask() override {}
|
||||
virtual ~AbstractMTask() override = default;
|
||||
virtual uint32_t id() const = 0;
|
||||
virtual uint32_t cost() const = 0;
|
||||
};
|
||||
@ -44,7 +44,7 @@ public:
|
||||
// CONSTRUCTORS
|
||||
AbstractLogicMTask(V3Graph* graphp)
|
||||
: AbstractMTask{graphp} {}
|
||||
virtual ~AbstractLogicMTask() override {}
|
||||
virtual ~AbstractLogicMTask() override = default;
|
||||
// METHODS
|
||||
// Set of logic vertices in this mtask. Order is not significant.
|
||||
virtual const VxList* vertexListp() const = 0;
|
||||
|
@ -83,7 +83,7 @@ public:
|
||||
VDefineRef(const string& name, const string& params)
|
||||
: m_name{name}
|
||||
, m_params{params} {}
|
||||
~VDefineRef() {}
|
||||
~VDefineRef() = default;
|
||||
};
|
||||
|
||||
//*************************************************************************
|
||||
@ -99,7 +99,7 @@ public:
|
||||
VPreIfEntry(bool on, bool everOn)
|
||||
: m_on{on}
|
||||
, m_everOn{everOn || on} {} // Note everOn includes new state
|
||||
~VPreIfEntry() {}
|
||||
~VPreIfEntry() = default;
|
||||
};
|
||||
|
||||
//*************************************************************************
|
||||
|
@ -103,7 +103,7 @@ protected:
|
||||
|
||||
public:
|
||||
static V3PreProc* createPreProc(FileLine* fl);
|
||||
virtual ~V3PreProc() {} // LCOV_EXCL_LINE // Persistent
|
||||
virtual ~V3PreProc() = default; // LCOV_EXCL_LINE // Persistent
|
||||
};
|
||||
|
||||
#endif // Guard
|
||||
|
@ -151,8 +151,8 @@ private:
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
V3PreShellImp() {}
|
||||
~V3PreShellImp() {}
|
||||
V3PreShellImp() = default;
|
||||
~V3PreShellImp() = default;
|
||||
};
|
||||
|
||||
V3PreShellImp V3PreShellImp::s_preImp;
|
||||
|
@ -75,7 +75,7 @@ public:
|
||||
UINFO(4, " PremitAssignVisitor on " << nodep << endl);
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~PremitAssignVisitor() override {}
|
||||
virtual ~PremitAssignVisitor() override = default;
|
||||
bool noOpt() const { return m_noopt; }
|
||||
};
|
||||
|
||||
@ -397,7 +397,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit PremitVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~PremitVisitor() override {}
|
||||
virtual ~PremitVisitor() override = default;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -313,7 +313,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit ScopeVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~ScopeVisitor() override {}
|
||||
virtual ~ScopeVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
@ -391,7 +391,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit ScopeCleanupVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~ScopeCleanupVisitor() override {}
|
||||
virtual ~ScopeCleanupVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -30,7 +30,7 @@ public:
|
||||
static uint32_t s_serial = 0;
|
||||
m_id = ++s_serial;
|
||||
}
|
||||
ScoreboardTestElem() {}
|
||||
ScoreboardTestElem() = default;
|
||||
// METHODS
|
||||
static uint32_t scoreFn(const ScoreboardTestElem* elp) { return elp->m_score; }
|
||||
|
||||
|
@ -54,7 +54,7 @@ private:
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
SortByValueMap() {}
|
||||
SortByValueMap() = default;
|
||||
|
||||
class const_iterator {
|
||||
// TYPES
|
||||
@ -375,7 +375,7 @@ public:
|
||||
explicit V3Scoreboard(UserScoreFnp scoreFnp, bool slowAsserts)
|
||||
: m_scoreFnp{scoreFnp}
|
||||
, m_slowAsserts{slowAsserts} {}
|
||||
~V3Scoreboard() {}
|
||||
~V3Scoreboard() = default;
|
||||
|
||||
// METHODS
|
||||
|
||||
|
@ -53,7 +53,7 @@ private:
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
SenTreeSet() {}
|
||||
SenTreeSet() = default;
|
||||
|
||||
// METHODS
|
||||
void add(AstSenTree* nodep) { m_trees.insert(nodep); }
|
||||
@ -81,7 +81,7 @@ private:
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
SenTreeFinder() {}
|
||||
SenTreeFinder() = default;
|
||||
|
||||
// METHODS
|
||||
AstSenTree* getSenTree(AstSenTree* senTreep) {
|
||||
|
@ -57,7 +57,7 @@ public:
|
||||
SimStackNode(AstFuncRef* funcp, V3TaskConnects* tconnects)
|
||||
: m_funcp{funcp}
|
||||
, m_tconnects{tconnects} {}
|
||||
~SimStackNode() {}
|
||||
~SimStackNode() = default;
|
||||
};
|
||||
|
||||
typedef std::deque<AstConst*> ConstDeque;
|
||||
|
@ -225,7 +225,7 @@ class SliceVisitor : public AstNVisitor {
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit SliceVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~SliceVisitor() override {}
|
||||
virtual ~SliceVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
@ -102,7 +102,7 @@ protected:
|
||||
SplitNodeVertex(V3Graph* graphp, AstNode* nodep)
|
||||
: V3GraphVertex{graphp}
|
||||
, m_nodep{nodep} {}
|
||||
virtual ~SplitNodeVertex() override {}
|
||||
virtual ~SplitNodeVertex() override = default;
|
||||
// ACCESSORS
|
||||
// Do not make accessor for nodep(), It may change due to
|
||||
// reordering a lower block, but we don't repair it
|
||||
@ -119,7 +119,7 @@ class SplitPliVertex : public SplitNodeVertex {
|
||||
public:
|
||||
explicit SplitPliVertex(V3Graph* graphp, AstNode* nodep)
|
||||
: SplitNodeVertex{graphp, nodep} {}
|
||||
virtual ~SplitPliVertex() override {}
|
||||
virtual ~SplitPliVertex() override = default;
|
||||
virtual string name() const override { return "*PLI*"; }
|
||||
virtual string dotColor() const override { return "green"; }
|
||||
};
|
||||
@ -128,7 +128,7 @@ class SplitLogicVertex : public SplitNodeVertex {
|
||||
public:
|
||||
SplitLogicVertex(V3Graph* graphp, AstNode* nodep)
|
||||
: SplitNodeVertex{graphp, nodep} {}
|
||||
virtual ~SplitLogicVertex() override {}
|
||||
virtual ~SplitLogicVertex() override = default;
|
||||
virtual string dotColor() const override { return "yellow"; }
|
||||
};
|
||||
|
||||
@ -136,7 +136,7 @@ class SplitVarStdVertex : public SplitNodeVertex {
|
||||
public:
|
||||
SplitVarStdVertex(V3Graph* graphp, AstNode* nodep)
|
||||
: SplitNodeVertex{graphp, nodep} {}
|
||||
virtual ~SplitVarStdVertex() override {}
|
||||
virtual ~SplitVarStdVertex() override = default;
|
||||
virtual string dotColor() const override { return "skyblue"; }
|
||||
};
|
||||
|
||||
@ -144,7 +144,7 @@ class SplitVarPostVertex : public SplitNodeVertex {
|
||||
public:
|
||||
SplitVarPostVertex(V3Graph* graphp, AstNode* nodep)
|
||||
: SplitNodeVertex{graphp, nodep} {}
|
||||
virtual ~SplitVarPostVertex() override {}
|
||||
virtual ~SplitVarPostVertex() override = default;
|
||||
virtual string name() const override { return string("POST ") + SplitNodeVertex::name(); }
|
||||
virtual string dotColor() const override { return "CadetBlue"; }
|
||||
};
|
||||
@ -160,7 +160,7 @@ protected:
|
||||
SplitEdge(V3Graph* graphp, V3GraphVertex* fromp, V3GraphVertex* top, int weight,
|
||||
bool cutable = CUTABLE)
|
||||
: V3GraphEdge{graphp, fromp, top, weight, cutable} {}
|
||||
virtual ~SplitEdge() override {}
|
||||
virtual ~SplitEdge() override = default;
|
||||
|
||||
public:
|
||||
// Iterator for graph functions
|
||||
@ -189,7 +189,7 @@ class SplitPostEdge : public SplitEdge {
|
||||
public:
|
||||
SplitPostEdge(V3Graph* graphp, V3GraphVertex* fromp, V3GraphVertex* top)
|
||||
: SplitEdge{graphp, fromp, top, WEIGHT_NORMAL} {}
|
||||
virtual ~SplitPostEdge() override {}
|
||||
virtual ~SplitPostEdge() override = default;
|
||||
virtual bool followScoreboard() const override { return false; }
|
||||
virtual string dotColor() const override { return "khaki"; }
|
||||
};
|
||||
@ -198,7 +198,7 @@ class SplitLVEdge : public SplitEdge {
|
||||
public:
|
||||
SplitLVEdge(V3Graph* graphp, V3GraphVertex* fromp, V3GraphVertex* top)
|
||||
: SplitEdge{graphp, fromp, top, WEIGHT_NORMAL} {}
|
||||
virtual ~SplitLVEdge() override {}
|
||||
virtual ~SplitLVEdge() override = default;
|
||||
virtual bool followScoreboard() const override { return true; }
|
||||
virtual string dotColor() const override { return "yellowGreen"; }
|
||||
};
|
||||
@ -207,7 +207,7 @@ class SplitRVEdge : public SplitEdge {
|
||||
public:
|
||||
SplitRVEdge(V3Graph* graphp, V3GraphVertex* fromp, V3GraphVertex* top)
|
||||
: SplitEdge{graphp, fromp, top, WEIGHT_NORMAL} {}
|
||||
virtual ~SplitRVEdge() override {}
|
||||
virtual ~SplitRVEdge() override = default;
|
||||
virtual bool followScoreboard() const override { return true; }
|
||||
virtual string dotColor() const override { return "green"; }
|
||||
};
|
||||
@ -216,7 +216,7 @@ struct SplitScorebdEdge : public SplitEdge {
|
||||
public:
|
||||
SplitScorebdEdge(V3Graph* graphp, V3GraphVertex* fromp, V3GraphVertex* top)
|
||||
: SplitEdge{graphp, fromp, top, WEIGHT_NORMAL} {}
|
||||
virtual ~SplitScorebdEdge() override {}
|
||||
virtual ~SplitScorebdEdge() override = default;
|
||||
virtual bool followScoreboard() const override { return true; }
|
||||
virtual string dotColor() const override { return "blue"; }
|
||||
};
|
||||
@ -227,7 +227,7 @@ struct SplitStrictEdge : public SplitEdge {
|
||||
public:
|
||||
SplitStrictEdge(V3Graph* graphp, V3GraphVertex* fromp, V3GraphVertex* top)
|
||||
: SplitEdge{graphp, fromp, top, WEIGHT_NORMAL, NOT_CUTABLE} {}
|
||||
virtual ~SplitStrictEdge() override {}
|
||||
virtual ~SplitStrictEdge() override = default;
|
||||
virtual bool followScoreboard() const override { return true; }
|
||||
virtual string dotColor() const override { return "blue"; }
|
||||
};
|
||||
@ -443,7 +443,7 @@ class ReorderVisitor : public SplitReorderBaseVisitor {
|
||||
// CONSTRUCTORS
|
||||
public:
|
||||
explicit ReorderVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~ReorderVisitor() override {}
|
||||
virtual ~ReorderVisitor() override = default;
|
||||
|
||||
// METHODS
|
||||
protected:
|
||||
@ -638,7 +638,7 @@ public:
|
||||
// Visit through *nodep and map each AstNodeIf within to the set of
|
||||
// colors it will participate in. Also find the whole set of colors.
|
||||
explicit IfColorVisitor(AstAlways* nodep) { iterate(nodep); }
|
||||
virtual ~IfColorVisitor() override {}
|
||||
virtual ~IfColorVisitor() override = default;
|
||||
|
||||
// METHODS
|
||||
const ColorSet& colors() const { return m_colors; }
|
||||
@ -703,7 +703,7 @@ public:
|
||||
UINFO(6, " splitting always " << nodep << endl);
|
||||
}
|
||||
|
||||
virtual ~EmitSplitVisitor() override {}
|
||||
virtual ~EmitSplitVisitor() override = default;
|
||||
|
||||
// METHODS
|
||||
void go() {
|
||||
@ -804,7 +804,7 @@ public:
|
||||
VL_DO_DANGLING(np->deleteTree(), np);
|
||||
}
|
||||
}
|
||||
virtual ~RemovePlaceholdersVisitor() override {}
|
||||
virtual ~RemovePlaceholdersVisitor() override = default;
|
||||
virtual void visit(AstSplitPlaceholder* nodep) override { m_removeSet.insert(nodep); }
|
||||
virtual void visit(AstNode* nodep) override { iterateChildren(nodep); }
|
||||
|
||||
@ -844,7 +844,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
virtual ~SplitVisitor() override {}
|
||||
virtual ~SplitVisitor() override = default;
|
||||
|
||||
// METHODS
|
||||
protected:
|
||||
|
@ -58,7 +58,7 @@ private:
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit SplitAsFindVisitor(AstAlways* nodep) { iterate(nodep); }
|
||||
virtual ~SplitAsFindVisitor() override {}
|
||||
virtual ~SplitAsFindVisitor() override = default;
|
||||
// METHODS
|
||||
AstVarScope* splitVscp() const { return m_splitVscp; }
|
||||
};
|
||||
@ -118,7 +118,7 @@ public:
|
||||
, m_modeMatch{modeMatch} {
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~SplitAsCleanVisitor() override {}
|
||||
virtual ~SplitAsCleanVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user