[include] Explicitly handle some constructors and operators
This CL attempts to fix some errors when compiling
dawn with `autoninja all` and `is_debug = false`.
```
error: definition of implicit copy assignment operator for 'WaitableEvent' is deprecated because it has a user-declared destructor [-Werror,-Wdeprecated-copy-with-dtor]
error: constructor for 'dawn::native::(anonymous namespace)::MemoryDumpMock' must explicitly initialize the base class 'MemoryDump' which does not have a default constructor
```
Bug:None
Change-Id: Ib042df79c87000a1797af0b3b63e1e4029c2b391
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/207634
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
diff --git a/include/dawn/native/DawnNative.h b/include/dawn/native/DawnNative.h
index 61ee842..79376d6 100644
--- a/include/dawn/native/DawnNative.h
+++ b/include/dawn/native/DawnNative.h
@@ -284,6 +284,8 @@
static const char kUnitsBytes[]; // Unit name to represent bytes.
static const char kUnitsObjects[]; // Unit name to represent #objects.
+ MemoryDump() = default;
+
virtual void AddScalar(const char* name,
const char* key,
const char* units,
@@ -291,6 +293,9 @@
virtual void AddString(const char* name, const char* key, const std::string& value) = 0;
+ MemoryDump(const MemoryDump&) = delete;
+ MemoryDump& operator=(const MemoryDump&) = delete;
+
protected:
virtual ~MemoryDump() = default;
};
diff --git a/include/dawn/platform/DawnPlatform.h b/include/dawn/platform/DawnPlatform.h
index fd22c2a..71ebb27 100644
--- a/include/dawn/platform/DawnPlatform.h
+++ b/include/dawn/platform/DawnPlatform.h
@@ -73,6 +73,10 @@
public:
WaitableEvent() = default;
virtual ~WaitableEvent() = default;
+
+ WaitableEvent(const WaitableEvent&) = delete;
+ WaitableEvent& operator=(const WaitableEvent&) = delete;
+
virtual void Wait() = 0; // Wait for completion
virtual bool IsComplete() = 0; // Non-blocking check if the event is complete
};
@@ -83,6 +87,10 @@
public:
WorkerTaskPool() = default;
virtual ~WorkerTaskPool() = default;
+
+ WorkerTaskPool(const WorkerTaskPool&) = delete;
+ WorkerTaskPool& operator=(const WorkerTaskPool&) = delete;
+
virtual std::unique_ptr<WaitableEvent> PostWorkerTask(PostWorkerTaskCallback,
void* userdata) = 0;
};