Commit 16370a65 by Jamie Madill Committed by Commit Bot

Enable "-Winconsistent-missing-destructor-override".

This is purely a code style and consistency warning. Enabled to support building in Skia. Bug: angleproject:4046 Change-Id: Ibdcd06ded0195123e52c693851c43d0864e54ad1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877480Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent ec14fd5a
...@@ -139,6 +139,7 @@ config("extra_warnings") { ...@@ -139,6 +139,7 @@ config("extra_warnings") {
cflags += [ cflags += [
"-Wextra-semi-stmt", "-Wextra-semi-stmt",
"-Wfloat-conversion", "-Wfloat-conversion",
"-Winconsistent-missing-destructor-override",
"-Wmissing-field-initializers", "-Wmissing-field-initializers",
"-Wnon-virtual-dtor", "-Wnon-virtual-dtor",
"-Wredundant-parens", "-Wredundant-parens",
......
...@@ -377,4 +377,14 @@ std::ostream &FmtHex(std::ostream &os, T value) ...@@ -377,4 +377,14 @@ std::ostream &FmtHex(std::ostream &os, T value)
# define ANGLE_REENABLE_SHADOWING_WARNING # define ANGLE_REENABLE_SHADOWING_WARNING
#endif #endif
#if defined(__clang__)
# define ANGLE_DISABLE_DESTRUCTOR_OVERRIDE_WARNING \
_Pragma("clang diagnostic push") \
_Pragma("clang diagnostic ignored \"-Winconsistent-missing-destructor-override\"")
# define ANGLE_REENABLE_DESTRUCTOR_OVERRIDE_WARNING _Pragma("clang diagnostic pop")
#else
# define ANGLE_DISABLE_DESTRUCTOR_OVERRIDE_WARNING
# define ANGLE_REENABLE_DESTRUCTOR_OVERRIDE_WARNING
#endif
#endif // COMMON_DEBUG_H_ #endif // COMMON_DEBUG_H_
...@@ -594,7 +594,7 @@ class TIntermAggregate : public TIntermOperator, public TIntermAggregateBase ...@@ -594,7 +594,7 @@ class TIntermAggregate : public TIntermOperator, public TIntermAggregateBase
static TIntermAggregate *CreateBuiltInFunctionCall(const TFunction &func, static TIntermAggregate *CreateBuiltInFunctionCall(const TFunction &func,
TIntermSequence *arguments); TIntermSequence *arguments);
static TIntermAggregate *CreateConstructor(const TType &type, TIntermSequence *arguments); static TIntermAggregate *CreateConstructor(const TType &type, TIntermSequence *arguments);
~TIntermAggregate() {} ~TIntermAggregate() override {}
// Note: only supported for nodes that can be a part of an expression. // Note: only supported for nodes that can be a part of an expression.
TIntermTyped *deepCopy() const override { return new TIntermAggregate(*this); } TIntermTyped *deepCopy() const override { return new TIntermAggregate(*this); }
...@@ -671,7 +671,7 @@ class TIntermBlock : public TIntermNode, public TIntermAggregateBase ...@@ -671,7 +671,7 @@ class TIntermBlock : public TIntermNode, public TIntermAggregateBase
{ {
public: public:
TIntermBlock() : TIntermNode() {} TIntermBlock() : TIntermNode() {}
~TIntermBlock() {} ~TIntermBlock() override {}
TIntermBlock *getAsBlock() override { return this; } TIntermBlock *getAsBlock() override { return this; }
void traverse(TIntermTraverser *it) final; void traverse(TIntermTraverser *it) final;
...@@ -703,7 +703,7 @@ class TIntermFunctionPrototype : public TIntermTyped ...@@ -703,7 +703,7 @@ class TIntermFunctionPrototype : public TIntermTyped
{ {
public: public:
TIntermFunctionPrototype(const TFunction *function); TIntermFunctionPrototype(const TFunction *function);
~TIntermFunctionPrototype() {} ~TIntermFunctionPrototype() override {}
TIntermFunctionPrototype *getAsFunctionPrototypeNode() override { return this; } TIntermFunctionPrototype *getAsFunctionPrototypeNode() override { return this; }
void traverse(TIntermTraverser *it) final; void traverse(TIntermTraverser *it) final;
...@@ -773,7 +773,7 @@ class TIntermDeclaration : public TIntermNode, public TIntermAggregateBase ...@@ -773,7 +773,7 @@ class TIntermDeclaration : public TIntermNode, public TIntermAggregateBase
{ {
public: public:
TIntermDeclaration() : TIntermNode() {} TIntermDeclaration() : TIntermNode() {}
~TIntermDeclaration() {} ~TIntermDeclaration() override {}
TIntermDeclaration *getAsDeclarationNode() override { return this; } TIntermDeclaration *getAsDeclarationNode() override { return this; }
bool visit(Visit visit, TIntermTraverser *it) final; bool visit(Visit visit, TIntermTraverser *it) final;
......
...@@ -52,7 +52,7 @@ class OutputHLSL : public TIntermTraverser ...@@ -52,7 +52,7 @@ class OutputHLSL : public TIntermTraverser
PerformanceDiagnostics *perfDiagnostics, PerformanceDiagnostics *perfDiagnostics,
const std::vector<InterfaceBlock> &shaderStorageBlocks); const std::vector<InterfaceBlock> &shaderStorageBlocks);
~OutputHLSL(); ~OutputHLSL() override;
void output(TIntermNode *treeRoot, TInfoSinkBase &objSink); void output(TIntermNode *treeRoot, TInfoSinkBase &objSink);
......
...@@ -50,7 +50,7 @@ class TInvariantQualifierWrapper final : public TQualifierWrapperBase ...@@ -50,7 +50,7 @@ class TInvariantQualifierWrapper final : public TQualifierWrapperBase
{ {
public: public:
TInvariantQualifierWrapper(const TSourceLoc &line) : TQualifierWrapperBase(line) {} TInvariantQualifierWrapper(const TSourceLoc &line) : TQualifierWrapperBase(line) {}
~TInvariantQualifierWrapper() {} ~TInvariantQualifierWrapper() override {}
TQualifierType getType() const override { return QtInvariant; } TQualifierType getType() const override { return QtInvariant; }
ImmutableString getQualifierString() const override { return ImmutableString("invariant"); } ImmutableString getQualifierString() const override { return ImmutableString("invariant"); }
...@@ -63,7 +63,7 @@ class TInterpolationQualifierWrapper final : public TQualifierWrapperBase ...@@ -63,7 +63,7 @@ class TInterpolationQualifierWrapper final : public TQualifierWrapperBase
TInterpolationQualifierWrapper(TQualifier interpolationQualifier, const TSourceLoc &line) TInterpolationQualifierWrapper(TQualifier interpolationQualifier, const TSourceLoc &line)
: TQualifierWrapperBase(line), mInterpolationQualifier(interpolationQualifier) : TQualifierWrapperBase(line), mInterpolationQualifier(interpolationQualifier)
{} {}
~TInterpolationQualifierWrapper() {} ~TInterpolationQualifierWrapper() override {}
TQualifierType getType() const override { return QtInterpolation; } TQualifierType getType() const override { return QtInterpolation; }
ImmutableString getQualifierString() const override ImmutableString getQualifierString() const override
...@@ -83,7 +83,7 @@ class TLayoutQualifierWrapper final : public TQualifierWrapperBase ...@@ -83,7 +83,7 @@ class TLayoutQualifierWrapper final : public TQualifierWrapperBase
TLayoutQualifierWrapper(TLayoutQualifier layoutQualifier, const TSourceLoc &line) TLayoutQualifierWrapper(TLayoutQualifier layoutQualifier, const TSourceLoc &line)
: TQualifierWrapperBase(line), mLayoutQualifier(layoutQualifier) : TQualifierWrapperBase(line), mLayoutQualifier(layoutQualifier)
{} {}
~TLayoutQualifierWrapper() {} ~TLayoutQualifierWrapper() override {}
TQualifierType getType() const override { return QtLayout; } TQualifierType getType() const override { return QtLayout; }
ImmutableString getQualifierString() const override { return ImmutableString("layout"); } ImmutableString getQualifierString() const override { return ImmutableString("layout"); }
...@@ -100,7 +100,7 @@ class TStorageQualifierWrapper final : public TQualifierWrapperBase ...@@ -100,7 +100,7 @@ class TStorageQualifierWrapper final : public TQualifierWrapperBase
TStorageQualifierWrapper(TQualifier storageQualifier, const TSourceLoc &line) TStorageQualifierWrapper(TQualifier storageQualifier, const TSourceLoc &line)
: TQualifierWrapperBase(line), mStorageQualifier(storageQualifier) : TQualifierWrapperBase(line), mStorageQualifier(storageQualifier)
{} {}
~TStorageQualifierWrapper() {} ~TStorageQualifierWrapper() override {}
TQualifierType getType() const override { return QtStorage; } TQualifierType getType() const override { return QtStorage; }
ImmutableString getQualifierString() const override ImmutableString getQualifierString() const override
...@@ -120,7 +120,7 @@ class TPrecisionQualifierWrapper final : public TQualifierWrapperBase ...@@ -120,7 +120,7 @@ class TPrecisionQualifierWrapper final : public TQualifierWrapperBase
TPrecisionQualifierWrapper(TPrecision precisionQualifier, const TSourceLoc &line) TPrecisionQualifierWrapper(TPrecision precisionQualifier, const TSourceLoc &line)
: TQualifierWrapperBase(line), mPrecisionQualifier(precisionQualifier) : TQualifierWrapperBase(line), mPrecisionQualifier(precisionQualifier)
{} {}
~TPrecisionQualifierWrapper() {} ~TPrecisionQualifierWrapper() override {}
TQualifierType getType() const override { return QtPrecision; } TQualifierType getType() const override { return QtPrecision; }
ImmutableString getQualifierString() const override ImmutableString getQualifierString() const override
...@@ -140,7 +140,7 @@ class TMemoryQualifierWrapper final : public TQualifierWrapperBase ...@@ -140,7 +140,7 @@ class TMemoryQualifierWrapper final : public TQualifierWrapperBase
TMemoryQualifierWrapper(TQualifier memoryQualifier, const TSourceLoc &line) TMemoryQualifierWrapper(TQualifier memoryQualifier, const TSourceLoc &line)
: TQualifierWrapperBase(line), mMemoryQualifier(memoryQualifier) : TQualifierWrapperBase(line), mMemoryQualifier(memoryQualifier)
{} {}
~TMemoryQualifierWrapper() {} ~TMemoryQualifierWrapper() override {}
TQualifierType getType() const override { return QtMemory; } TQualifierType getType() const override { return QtMemory; }
ImmutableString getQualifierString() const override ImmutableString getQualifierString() const override
......
...@@ -44,7 +44,7 @@ class ShaderStorageBlockOutputHLSL : public TIntermTraverser ...@@ -44,7 +44,7 @@ class ShaderStorageBlockOutputHLSL : public TIntermTraverser
ResourcesHLSL *resourcesHLSL, ResourcesHLSL *resourcesHLSL,
const std::vector<InterfaceBlock> &shaderStorageBlocks); const std::vector<InterfaceBlock> &shaderStorageBlocks);
~ShaderStorageBlockOutputHLSL(); ~ShaderStorageBlockOutputHLSL() override;
// This writes part of the function call to store a value to a SSBO to the output stream. After // This writes part of the function call to store a value to a SSBO to the output stream. After
// calling this, ", <stored value>)" should be written to the output stream to complete the // calling this, ", <stored value>)" should be written to the output stream to complete the
......
...@@ -10,6 +10,13 @@ ...@@ -10,6 +10,13 @@
#ifndef UTIL_FUCHSIA_SCENIC_WINDOW_H #ifndef UTIL_FUCHSIA_SCENIC_WINDOW_H
#define UTIL_FUCHSIA_SCENIC_WINDOW_H #define UTIL_FUCHSIA_SCENIC_WINDOW_H
#include "common/debug.h"
#include "util/OSWindow.h"
#include "util/util_export.h"
// Disable ANGLE-specific warnings that pop up in fuchsia headers.
ANGLE_DISABLE_DESTRUCTOR_OVERRIDE_WARNING
#include <fuchsia/ui/policy/cpp/fidl.h> #include <fuchsia/ui/policy/cpp/fidl.h>
#include <fuchsia/ui/scenic/cpp/fidl.h> #include <fuchsia/ui/scenic/cpp/fidl.h>
#include <fuchsia_egl.h> #include <fuchsia_egl.h>
...@@ -20,8 +27,7 @@ ...@@ -20,8 +27,7 @@
#include <zircon/types.h> #include <zircon/types.h>
#include <string> #include <string>
#include "util/OSWindow.h" ANGLE_REENABLE_DESTRUCTOR_OVERRIDE_WARNING
#include "util/util_export.h"
struct FuchsiaEGLWindowDeleter struct FuchsiaEGLWindowDeleter
{ {
...@@ -32,7 +38,7 @@ class ANGLE_UTIL_EXPORT ScenicWindow : public OSWindow ...@@ -32,7 +38,7 @@ class ANGLE_UTIL_EXPORT ScenicWindow : public OSWindow
{ {
public: public:
ScenicWindow(); ScenicWindow();
~ScenicWindow(); ~ScenicWindow() override;
// OSWindow: // OSWindow:
bool initialize(const std::string &name, int width, int height) override; bool initialize(const std::string &name, int width, int height) override;
......
...@@ -33,7 +33,7 @@ class OSXWindow : public OSWindow ...@@ -33,7 +33,7 @@ class OSXWindow : public OSWindow
{ {
public: public:
OSXWindow(); OSXWindow();
~OSXWindow(); ~OSXWindow() override;
bool initialize(const std::string &name, int width, int height) override; bool initialize(const std::string &name, int width, int height) override;
void destroy() override; void destroy() override;
......
...@@ -17,7 +17,7 @@ class OzoneWindow : public OSWindow ...@@ -17,7 +17,7 @@ class OzoneWindow : public OSWindow
{ {
public: public:
OzoneWindow(); OzoneWindow();
~OzoneWindow(); ~OzoneWindow() override;
bool initialize(const std::string &name, int width, int height) override; bool initialize(const std::string &name, int width, int height) override;
void destroy() override; void destroy() override;
......
...@@ -39,7 +39,7 @@ class CustomStackWalker : public StackWalker ...@@ -39,7 +39,7 @@ class CustomStackWalker : public StackWalker
{ {
public: public:
CustomStackWalker() {} CustomStackWalker() {}
~CustomStackWalker() {} ~CustomStackWalker() override {}
void OnCallstackEntry(CallstackEntryType eType, CallstackEntry &entry) override void OnCallstackEntry(CallstackEntryType eType, CallstackEntry &entry) override
{ {
......
...@@ -22,7 +22,7 @@ class ANGLE_UTIL_EXPORT X11Window : public OSWindow ...@@ -22,7 +22,7 @@ class ANGLE_UTIL_EXPORT X11Window : public OSWindow
public: public:
X11Window(); X11Window();
X11Window(int visualId); X11Window(int visualId);
~X11Window(); ~X11Window() override;
bool initialize(const std::string &name, int width, int height) override; bool initialize(const std::string &name, int width, int height) override;
void destroy() override; void destroy() override;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment