Fix cppcoreguidelines-special-member-functions warnings

This commit is contained in:
2023-05-17 11:23:38 +02:00
parent 093ee73d54
commit 32e828d254
17 changed files with 98 additions and 13 deletions

View File

@@ -64,6 +64,8 @@ private:
public:
DebugManager(const DebugManager&) = delete;
DebugManager& operator=(const DebugManager&) = delete;
DebugManager(DebugManager&&) = delete;
DebugManager& operator=(DebugManager&&) = delete;
void setup(bool _debugEnabled, bool _writeToConsole, bool _writeToFile);

View File

@@ -63,8 +63,11 @@ class TlmRecorder
{
public:
TlmRecorder(const std::string& name, const Configuration& config, const std::string& dbName);
TlmRecorder(const TlmRecorder&) = delete;
TlmRecorder(TlmRecorder&&) = default;
TlmRecorder(const TlmRecorder &) = delete;
TlmRecorder(TlmRecorder &&) = default;
TlmRecorder &operator=(const TlmRecorder &) = delete;
TlmRecorder &operator=(TlmRecorder &&) = delete;
~TlmRecorder() = default;
void recordMcConfig(std::string _mcconfig)
{
@@ -95,7 +98,6 @@ private:
struct Transaction
{
Transaction(const Transaction& other) = default;
Transaction(uint64_t id, uint64_t address, unsigned int dataLength, char cmd,
const sc_core::sc_time& timeOfGeneration, Thread thread, Channel channel) :
id(id), address(address), dataLength(dataLength), cmd(cmd), timeOfGeneration(timeOfGeneration),

View File

@@ -55,10 +55,6 @@ namespace DRAMSys
class Configuration
{
public:
Configuration() = default;
Configuration(const Configuration&) = delete;
Configuration& operator=(const Configuration &) = delete;
// MCConfig:
enum class PagePolicy {Open, Closed, OpenAdaptive, ClosedAdaptive} pagePolicy = PagePolicy::Open;
enum class Scheduler {Fifo, FrFcfs, FrFcfsGrp, GrpFrFcfs, GrpFrFcfsWm} scheduler = Scheduler::FrFcfs;

View File

@@ -54,6 +54,10 @@ namespace DRAMSys
class MemSpec
{
public:
MemSpec &operator=(const MemSpec &) = delete;
MemSpec &operator=(MemSpec &&) = delete;
virtual ~MemSpec() = default;
const unsigned numberOfChannels;
const unsigned pseudoChannelsPerChannel;
const unsigned ranksPerChannel;
@@ -84,8 +88,6 @@ public:
WideIO2, GDDR5, GDDR5X, GDDR6, HBM2, HBM3, STTMRAM
} memoryType;
virtual ~MemSpec() = default;
[[nodiscard]] virtual sc_core::sc_time getRefreshIntervalAB() const;
[[nodiscard]] virtual sc_core::sc_time getRefreshIntervalPB() const;
[[nodiscard]] virtual sc_core::sc_time getRefreshIntervalP2B() const;
@@ -115,6 +117,9 @@ protected:
unsigned banksPerChannel, unsigned bankGroupsPerChannel,
unsigned devicesPerRank);
MemSpec(const MemSpec &) = default;
MemSpec(MemSpec &&) = default;
// Command lengths in cycles on bus, usually one clock cycle
std::vector<double> commandLengthInCycles;
sc_core::sc_time burstDuration;

View File

@@ -118,7 +118,13 @@ private:
class MemoryManager : public tlm::tlm_mm_interface
{
public:
MemoryManager() = default;
MemoryManager(const MemoryManager &) = delete;
MemoryManager(MemoryManager &&) = delete;
MemoryManager &operator=(const MemoryManager &) = delete;
MemoryManager &operator=(MemoryManager &&) = delete;
~MemoryManager() override;
tlm::tlm_generic_payload& allocate();
void free(tlm::tlm_generic_payload* trans) override;

View File

@@ -49,7 +49,6 @@ class ControllerRecordable final : public Controller
public:
ControllerRecordable(const sc_core::sc_module_name& name, const Configuration& config,
const AddressDecoder& addressDecoder, TlmRecorder& tlmRecorder);
~ControllerRecordable() override = default;
protected:
tlm::tlm_sync_enum nb_transport_fw(tlm::tlm_generic_payload& trans, tlm::tlm_phase& phase,

View File

@@ -42,11 +42,19 @@ namespace DRAMSys
class ManagerIF
{
protected:
ManagerIF(const ManagerIF &) = default;
ManagerIF(ManagerIF &&) = default;
ManagerIF &operator=(const ManagerIF &) = default;
ManagerIF &operator=(ManagerIF &&) = default;
public:
ManagerIF() = default;
virtual ~ManagerIF() = default;
virtual void evaluate() = 0;
virtual CommandTuple::Type getNextCommand() = 0;
virtual void update(Command command) = 0;
virtual ~ManagerIF() = default;
};
} // namespace DRAMSys

View File

@@ -44,7 +44,14 @@ namespace DRAMSys
class CheckerIF
{
protected:
CheckerIF(const CheckerIF &) = default;
CheckerIF(CheckerIF &&) = default;
CheckerIF &operator=(const CheckerIF &) = default;
CheckerIF &operator=(CheckerIF &&) = default;
public:
CheckerIF() = default;
virtual ~CheckerIF() = default;
[[nodiscard]] virtual sc_core::sc_time timeToSatisfyConstraints(Command command, const tlm::tlm_generic_payload& payload) const = 0;

View File

@@ -42,8 +42,16 @@ namespace DRAMSys
class CmdMuxIF
{
protected:
CmdMuxIF(const CmdMuxIF &) = default;
CmdMuxIF(CmdMuxIF &&) = default;
CmdMuxIF &operator=(const CmdMuxIF &) = default;
CmdMuxIF &operator=(CmdMuxIF &&) = default;
public:
CmdMuxIF() = default;
virtual ~CmdMuxIF() = default;
virtual CommandTuple::Type selectCommand(const ReadyCommands & readyCommands) = 0;
};

View File

@@ -43,11 +43,19 @@ namespace DRAMSys
class RespQueueIF
{
protected:
RespQueueIF(const RespQueueIF &) = default;
RespQueueIF(RespQueueIF &&) = default;
RespQueueIF &operator=(const RespQueueIF &) = default;
RespQueueIF &operator=(RespQueueIF &&) = default;
public:
RespQueueIF() = default;
virtual ~RespQueueIF() = default;
virtual void insertPayload(tlm::tlm_generic_payload* payload, sc_core::sc_time strobeEnd) = 0;
virtual tlm::tlm_generic_payload* nextPayload() = 0;
[[nodiscard]] virtual sc_core::sc_time getTriggerTime() const = 0;
virtual ~RespQueueIF() = default;
};
} // namespace DRAMSys

View File

@@ -43,8 +43,16 @@ namespace DRAMSys
class BufferCounterIF
{
protected:
BufferCounterIF(const BufferCounterIF &) = default;
BufferCounterIF(BufferCounterIF &&) = default;
BufferCounterIF &operator=(const BufferCounterIF &) = default;
BufferCounterIF &operator=(BufferCounterIF &&) = default;
public:
BufferCounterIF() = default;
virtual ~BufferCounterIF() = default;
[[nodiscard]] virtual bool hasBufferSpace() const = 0;
virtual void storeRequest(const tlm::tlm_generic_payload& trans) = 0;
virtual void removeRequest(const tlm::tlm_generic_payload& trans) = 0;

View File

@@ -47,8 +47,16 @@ class BankMachine;
class SchedulerIF
{
protected:
SchedulerIF(const SchedulerIF &) = default;
SchedulerIF(SchedulerIF &&) = default;
SchedulerIF &operator=(const SchedulerIF &) = default;
SchedulerIF &operator=(SchedulerIF &&) = default;
public:
SchedulerIF() = default;
virtual ~SchedulerIF() = default;
[[nodiscard]] virtual bool hasBufferSpace() const = 0;
virtual void storeRequest(tlm::tlm_generic_payload& payload) = 0;
virtual void removeRequest(tlm::tlm_generic_payload& payload) = 0;

View File

@@ -86,6 +86,11 @@ public:
tlm_utils::simple_target_socket<Dram> tSocket;
virtual void reportPower();
Dram(const Dram &) = delete;
Dram(Dram &&) = delete;
Dram &operator=(const Dram &) = delete;
Dram &operator=(Dram &&) = delete;
~Dram() override;
};

View File

@@ -39,7 +39,14 @@
class Initiator
{
protected:
Initiator(const Initiator &) = default;
Initiator(Initiator &&) = default;
Initiator &operator=(const Initiator &) = default;
Initiator &operator=(Initiator &&) = default;
public:
Initiator() = default;
virtual ~Initiator() = default;
virtual void bind(tlm_utils::multi_target_base<> &target) = 0;

View File

@@ -45,7 +45,12 @@ class MemoryManager : public tlm::tlm_mm_interface
{
public:
explicit MemoryManager(bool storageEnabled);
MemoryManager(const MemoryManager &) = delete;
MemoryManager(MemoryManager &&) = delete;
MemoryManager &operator=(const MemoryManager &) = delete;
MemoryManager &operator=(MemoryManager &&) = delete;
~MemoryManager() override;
tlm::tlm_generic_payload& allocate(unsigned dataLength);
void free(tlm::tlm_generic_payload* payload) override;

View File

@@ -39,7 +39,14 @@
class RequestProducer
{
protected:
RequestProducer(const RequestProducer &) = default;
RequestProducer(RequestProducer &&) = default;
RequestProducer &operator=(const RequestProducer &) = default;
RequestProducer &operator=(RequestProducer &&) = default;
public:
RequestProducer() = default;
virtual ~RequestProducer() = default;
virtual Request nextRequest() = 0;

View File

@@ -142,6 +142,8 @@ struct adl_serializer<std::optional<T>> {
NLOHMANN_JSON_NAMESPACE_END
// NOLINTBEGIN(cppcoreguidelines-macro-usage)
#define EXTEND_JSON_TO(v1) DRAMSys::util::extended_to_json(#v1, nlohmann_json_j, nlohmann_json_t.v1);
#define EXTEND_JSON_FROM(v1) DRAMSys::util::extended_from_json(#v1, nlohmann_json_j, nlohmann_json_t.v1);
@@ -153,4 +155,6 @@ NLOHMANN_JSON_NAMESPACE_END
NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(EXTEND_JSON_FROM, __VA_ARGS__)) \
}
#endif
// NOLINTEND(cppcoreguidelines-macro-usage)
#endif // DRAMSYS_UTIL_JSON_H