From 5267dff55676c45220632e55e386e617e622217f Mon Sep 17 00:00:00 2001 From: Greg Roth Date: Wed, 30 May 2018 07:07:16 -0600 Subject: [PATCH] [linux-port] Mark all overridden methods (#1319) Clang produces a warning when a method that overrides another is not marked with the override keyword. Adding the keyword has no effect on overridden functions, but it is good practice to mark all methods intended to override as such because if they fail to do so, the keyword will produce an error. Fixes 78 Clang warnings. --- include/dxc/Support/dxcapi.impl.h | 4 ++-- include/dxc/Support/microcom.h | 6 +++--- lib/DxcSupport/FileIOHelper.cpp | 14 +++++++------- lib/HLSL/DxcOptimizer.cpp | 4 ++-- tools/clang/lib/CodeGen/CGHLSLMS.cpp | 2 +- tools/clang/tools/dxc/dxc.cpp | 2 +- tools/clang/tools/dxcompiler/dxcassembler.cpp | 2 +- tools/clang/tools/dxcompiler/dxclibrary.cpp | 4 ++-- tools/clang/tools/dxcompiler/dxcompilerobj.cpp | 4 ++-- .../clang/tools/dxcompiler/dxcontainerbuilder.cpp | 4 ++-- tools/clang/tools/dxcompiler/dxcvalidator.cpp | 2 +- tools/clang/tools/libclang/dxcrewriteunused.cpp | 2 +- 12 files changed, 25 insertions(+), 25 deletions(-) diff --git a/include/dxc/Support/dxcapi.impl.h b/include/dxc/Support/dxcapi.impl.h index 5ea361bf7..3a15363a8 100644 --- a/include/dxc/Support/dxcapi.impl.h +++ b/include/dxc/Support/dxcapi.impl.h @@ -24,7 +24,7 @@ private: ULONG cbWritten; IFT(m_pStream->Write(Ptr, Size, &cbWritten)); } - uint64_t current_pos() const { return m_pStream->GetPosition(); } + uint64_t current_pos() const override { return m_pStream->GetPosition(); } public: raw_stream_ostream(hlsl::AbstractMemoryStream* pStream) : m_pStream(pStream) { } ~raw_stream_ostream() override { @@ -51,7 +51,7 @@ public: CComPtr m_result; CComPtr m_errors; - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) { + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) override { return DoBasicQueryInterface(this, iid, ppvObject); } diff --git a/include/dxc/Support/microcom.h b/include/dxc/Support/microcom.h index d95df93d4..f98608f09 100644 --- a/include/dxc/Support/microcom.h +++ b/include/dxc/Support/microcom.h @@ -77,12 +77,12 @@ public: #define DXC_MICROCOM_REF_FIELD(m_dwRef) volatile llvm::sys::cas_flag m_dwRef = 0; #define DXC_MICROCOM_ADDREF_IMPL(m_dwRef) \ - ULONG STDMETHODCALLTYPE AddRef() {\ + ULONG STDMETHODCALLTYPE AddRef() override {\ return (ULONG)llvm::sys::AtomicIncrement(&m_dwRef); \ } #define DXC_MICROCOM_ADDREF_RELEASE_IMPL(m_dwRef) \ DXC_MICROCOM_ADDREF_IMPL(m_dwRef) \ - ULONG STDMETHODCALLTYPE Release() { \ + ULONG STDMETHODCALLTYPE Release() override { \ ULONG result = (ULONG)llvm::sys::AtomicDecrement(&m_dwRef); \ if (result == 0) delete this; \ return result; \ @@ -109,7 +109,7 @@ void DxcCallDestructor(T *obj) { #define DXC_MICROCOM_TM_ADDREF_RELEASE_IMPL() \ DXC_MICROCOM_ADDREF_IMPL(m_dwRef) \ - ULONG STDMETHODCALLTYPE Release() { \ + ULONG STDMETHODCALLTYPE Release() override { \ ULONG result = (ULONG)llvm::sys::AtomicDecrement(&m_dwRef); \ if (result == 0) { \ CComPtr pTmp(m_pMalloc); \ diff --git a/lib/DxcSupport/FileIOHelper.cpp b/lib/DxcSupport/FileIOHelper.cpp index 504ee3362..505f4c887 100644 --- a/lib/DxcSupport/FileIOHelper.cpp +++ b/lib/DxcSupport/FileIOHelper.cpp @@ -30,7 +30,7 @@ public: ULONG STDMETHODCALLTYPE Release() { return 1; } - STDMETHODIMP QueryInterface(REFIID iid, void** ppvObject) { + STDMETHODIMP QueryInterface(REFIID iid, void** ppvObject) override { return DoBasicQueryInterface(this, iid, ppvObject); } virtual void *STDMETHODCALLTYPE Alloc( @@ -183,7 +183,7 @@ private: UINT32 m_CodePage; public: DXC_MICROCOM_ADDREF_IMPL(m_dwRef) - ULONG STDMETHODCALLTYPE Release() { + ULONG STDMETHODCALLTYPE Release() override { // Because blobs are also used by tests and utilities, we avoid using TLS. ULONG result = (ULONG)llvm::sys::AtomicDecrement(&m_dwRef); if (result == 0) { @@ -194,7 +194,7 @@ public: return result; } DXC_MICROCOM_TM_CTOR(InternalDxcBlobEncoding) - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) { + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) override { return DoBasicQueryInterface(this, iid, ppvObject); } @@ -265,7 +265,7 @@ public: virtual SIZE_T STDMETHODCALLTYPE GetBufferSize(void) override { return m_BufferSize; } - virtual HRESULT STDMETHODCALLTYPE GetEncoding(_Out_ BOOL *pKnown, _Out_ UINT32 *pCodePage) { + virtual HRESULT STDMETHODCALLTYPE GetEncoding(_Out_ BOOL *pKnown, _Out_ UINT32 *pCodePage) override { *pKnown = m_EncodingKnown ? TRUE : FALSE; *pCodePage = m_CodePage; return S_OK; @@ -774,7 +774,7 @@ private: ULONG m_allocSize = 0; public: DXC_MICROCOM_ADDREF_IMPL(m_dwRef) - ULONG STDMETHODCALLTYPE Release() { + ULONG STDMETHODCALLTYPE Release() override { // Because memory streams are also used by tests and utilities, // we avoid using TLS. ULONG result = (ULONG)llvm::sys::AtomicDecrement(&m_dwRef); @@ -788,7 +788,7 @@ public: DXC_MICROCOM_TM_CTOR(MemoryStream) - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) { + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) override { return DoBasicQueryInterface(this, iid, ppvObject); } @@ -992,7 +992,7 @@ public: DXC_MICROCOM_TM_ADDREF_RELEASE_IMPL() DXC_MICROCOM_TM_CTOR(ReadOnlyBlobStream) - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) { + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) override { return DoBasicQueryInterface(this, iid, ppvObject); } diff --git a/lib/HLSL/DxcOptimizer.cpp b/lib/HLSL/DxcOptimizer.cpp index 22ef1ac02..f0d230c5c 100644 --- a/lib/HLSL/DxcOptimizer.cpp +++ b/lib/HLSL/DxcOptimizer.cpp @@ -433,7 +433,7 @@ public: DXC_MICROCOM_TM_ADDREF_RELEASE_IMPL() DXC_MICROCOM_TM_CTOR(DxcOptimizerPass) - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) { + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) override { return DoBasicQueryInterface(this, iid, ppvObject); } @@ -489,7 +489,7 @@ public: DXC_MICROCOM_TM_ADDREF_RELEASE_IMPL() DXC_MICROCOM_TM_CTOR(DxcOptimizer) - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) { + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) override { return DoBasicQueryInterface(this, iid, ppvObject); } diff --git a/tools/clang/lib/CodeGen/CGHLSLMS.cpp b/tools/clang/lib/CodeGen/CGHLSLMS.cpp index f776e8f45..e8d556001 100644 --- a/tools/clang/lib/CodeGen/CGHLSLMS.cpp +++ b/tools/clang/lib/CodeGen/CGHLSLMS.cpp @@ -212,7 +212,7 @@ private: llvm::Type *Ty); void EmitHLSLRootSignature(CodeGenFunction &CGF, HLSLRootSignatureAttr *RSA, - llvm::Function *Fn); + llvm::Function *Fn) override; void CheckParameterAnnotation(SourceLocation SLoc, const DxilParameterAnnotation ¶mInfo, diff --git a/tools/clang/tools/dxc/dxc.cpp b/tools/clang/tools/dxc/dxc.cpp index 20e01901b..b94c7d8d0 100644 --- a/tools/clang/tools/dxc/dxc.cpp +++ b/tools/clang/tools/dxc/dxc.cpp @@ -569,7 +569,7 @@ public: DxcIncludeHandlerForInjectedSources() : m_dwRef(0) {}; std::unordered_map> includeFiles; - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) { + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) override { return DoBasicQueryInterface(this, iid, ppvObject); } diff --git a/tools/clang/tools/dxcompiler/dxcassembler.cpp b/tools/clang/tools/dxcompiler/dxcassembler.cpp index f8bf06285..8e6c1b8ba 100644 --- a/tools/clang/tools/dxcompiler/dxcassembler.cpp +++ b/tools/clang/tools/dxcompiler/dxcassembler.cpp @@ -39,7 +39,7 @@ public: DXC_MICROCOM_TM_ADDREF_RELEASE_IMPL() DXC_MICROCOM_TM_CTOR(DxcAssembler) - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) { + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) override { return DoBasicQueryInterface(this, iid, ppvObject); } diff --git a/tools/clang/tools/dxcompiler/dxclibrary.cpp b/tools/clang/tools/dxcompiler/dxclibrary.cpp index 65bcf73e4..c9bbf825a 100644 --- a/tools/clang/tools/dxcompiler/dxclibrary.cpp +++ b/tools/clang/tools/dxcompiler/dxclibrary.cpp @@ -30,7 +30,7 @@ public: DXC_MICROCOM_TM_ADDREF_RELEASE_IMPL() DXC_MICROCOM_TM_CTOR(DxcIncludeHandlerForFS) - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) { + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) override { return DoBasicQueryInterface(this, iid, ppvObject); } @@ -54,7 +54,7 @@ public: DXC_MICROCOM_TM_ADDREF_RELEASE_IMPL() DXC_MICROCOM_TM_CTOR(DxcLibrary) - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) { + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) override { return DoBasicQueryInterface(this, iid, ppvObject); } diff --git a/tools/clang/tools/dxcompiler/dxcompilerobj.cpp b/tools/clang/tools/dxcompiler/dxcompilerobj.cpp index 0fc4b5f4d..68a9cea09 100644 --- a/tools/clang/tools/dxcompiler/dxcompilerobj.cpp +++ b/tools/clang/tools/dxcompiler/dxcompilerobj.cpp @@ -175,7 +175,7 @@ public: return false; } - virtual HLSLExtensionsCodegenHelper::CustomRootSignature::Status GetCustomRootSignature(CustomRootSignature *out) { + virtual HLSLExtensionsCodegenHelper::CustomRootSignature::Status GetCustomRootSignature(CustomRootSignature *out) override { // Find macro definition in preprocessor. Preprocessor &pp = m_CI.getPreprocessor(); MacroInfo *macro = MacroExpander::FindMacroInfo(pp, m_rootSigDefine); @@ -253,7 +253,7 @@ public: return S_OK; } - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) { + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) override { return DoBasicQueryInterface(this, riid, ppvObject); } @@ -252,4 +252,4 @@ HRESULT CreateDxcContainerBuilder(_In_ REFIID riid, _Out_ LPVOID *ppv) { IFROOM(Result.p); Result->Init(warning); return Result->QueryInterface(riid, ppv); -} \ No newline at end of file +} diff --git a/tools/clang/tools/dxcompiler/dxcvalidator.cpp b/tools/clang/tools/dxcompiler/dxcvalidator.cpp index f661d18cf..40f625263 100644 --- a/tools/clang/tools/dxcompiler/dxcvalidator.cpp +++ b/tools/clang/tools/dxcompiler/dxcvalidator.cpp @@ -65,7 +65,7 @@ public: DXC_MICROCOM_TM_ADDREF_RELEASE_IMPL() DXC_MICROCOM_TM_CTOR(DxcValidator) - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) { + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) override { return DoBasicQueryInterface(this, iid, ppvObject); } diff --git a/tools/clang/tools/libclang/dxcrewriteunused.cpp b/tools/clang/tools/libclang/dxcrewriteunused.cpp index c89dd692e..3c7369745 100644 --- a/tools/clang/tools/libclang/dxcrewriteunused.cpp +++ b/tools/clang/tools/libclang/dxcrewriteunused.cpp @@ -547,7 +547,7 @@ public: DXC_MICROCOM_TM_CTOR(DxcRewriter) DXC_LANGEXTENSIONS_HELPER_IMPL(m_langExtensionsHelper) - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) { + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject) override { return DoBasicQueryInterface(this, iid, ppvObject); }