diff --git a/extras/Build/CMake/JUCEHelperTargets.cmake b/extras/Build/CMake/JUCEHelperTargets.cmake index 4d145ebf38..f592f9945b 100644 --- a/extras/Build/CMake/JUCEHelperTargets.cmake +++ b/extras/Build/CMake/JUCEHelperTargets.cmake @@ -11,7 +11,7 @@ elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQU -Wsign-conversion -Wbool-conversion -Wextra-semi -Wunreachable-code -Wcast-align -Wshift-sign-overflow -Wno-missing-field-initializers -Wnullable-to-nonnull-conversion -Wno-ignored-qualifiers -Wswitch-enum - -Wpedantic + -Wpedantic -Wdeprecated $<$,$>: -Wzero-as-null-pointer-constant -Wunused-private-field -Woverloaded-virtual -Wreorder diff --git a/modules/juce_audio_basics/utilities/juce_SmoothedValue.h b/modules/juce_audio_basics/utilities/juce_SmoothedValue.h index 5ee6cd6510..1757966fe9 100644 --- a/modules/juce_audio_basics/utilities/juce_SmoothedValue.h +++ b/modules/juce_audio_basics/utilities/juce_SmoothedValue.h @@ -58,8 +58,6 @@ public: /** Constructor. */ SmoothedValueBase() = default; - virtual ~SmoothedValueBase() {} - //============================================================================== /** Returns true if the current value is currently being interpolated. */ bool isSmoothing() const noexcept { return countdown > 0; } diff --git a/modules/juce_box2d/juce_box2d.h b/modules/juce_box2d/juce_box2d.h index 3b9ca41b1d..843aed7fd7 100644 --- a/modules/juce_box2d/juce_box2d.h +++ b/modules/juce_box2d/juce_box2d.h @@ -58,7 +58,8 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wconversion", "-Wshadow-field", "-Wzero-as-null-pointer-constant", - "-Wsign-conversion") + "-Wsign-conversion", + "-Wdeprecated") #include #include diff --git a/modules/juce_core/maths/juce_Random.cpp b/modules/juce_core/maths/juce_Random.cpp index c2b75d478b..dc14a53e2e 100644 --- a/modules/juce_core/maths/juce_Random.cpp +++ b/modules/juce_core/maths/juce_Random.cpp @@ -32,10 +32,6 @@ Random::Random() : seed (1) setSeedRandomly(); } -Random::~Random() noexcept -{ -} - void Random::setSeed (const int64 newSeed) noexcept { if (this == &getSystemRandom()) diff --git a/modules/juce_core/maths/juce_Random.h b/modules/juce_core/maths/juce_Random.h index 2a24fa75ae..ff25e60d13 100644 --- a/modules/juce_core/maths/juce_Random.h +++ b/modules/juce_core/maths/juce_Random.h @@ -50,9 +50,6 @@ public: */ Random(); - /** Destructor. */ - ~Random() noexcept; - /** Returns the next random 32 bit integer. @returns a random integer from the full range 0x80000000 to 0x7fffffff */ diff --git a/modules/juce_cryptography/encryption/juce_RSAKey.cpp b/modules/juce_cryptography/encryption/juce_RSAKey.cpp index e79cf4e981..2090f812e2 100644 --- a/modules/juce_cryptography/encryption/juce_RSAKey.cpp +++ b/modules/juce_cryptography/encryption/juce_RSAKey.cpp @@ -44,10 +44,6 @@ RSAKey::RSAKey (const String& s) } } -RSAKey::~RSAKey() -{ -} - bool RSAKey::operator== (const RSAKey& other) const noexcept { return part1 == other.part1 && part2 == other.part2; diff --git a/modules/juce_cryptography/encryption/juce_RSAKey.h b/modules/juce_cryptography/encryption/juce_RSAKey.h index 1d9eedb848..ed8d3fdf72 100644 --- a/modules/juce_cryptography/encryption/juce_RSAKey.h +++ b/modules/juce_cryptography/encryption/juce_RSAKey.h @@ -107,9 +107,6 @@ public: */ explicit RSAKey (const String& stringRepresentation); - /** Destructor. */ - ~RSAKey(); - bool operator== (const RSAKey& other) const noexcept; bool operator!= (const RSAKey& other) const noexcept; diff --git a/modules/juce_dsp/containers/juce_FixedSizeFunction_test.cpp b/modules/juce_dsp/containers/juce_FixedSizeFunction_test.cpp index e0b7ac43b8..acb17f4ff7 100644 --- a/modules/juce_dsp/containers/juce_FixedSizeFunction_test.cpp +++ b/modules/juce_dsp/containers/juce_FixedSizeFunction_test.cpp @@ -204,6 +204,9 @@ public: throw std::runtime_error { "this was meant to happen" }; } + BadConstructor (const BadConstructor&) = default; + BadConstructor& operator= (const BadConstructor&) = delete; + ~BadConstructor() noexcept { counts.destructions += 1; } void operator()() const noexcept { counts.calls += 1; } diff --git a/modules/juce_dsp/containers/juce_SIMDRegister_Impl.h b/modules/juce_dsp/containers/juce_SIMDRegister_Impl.h index 8b0d1a1b6d..7b0178ba2e 100644 --- a/modules/juce_dsp/containers/juce_SIMDRegister_Impl.h +++ b/modules/juce_dsp/containers/juce_SIMDRegister_Impl.h @@ -33,9 +33,10 @@ namespace dsp template struct SIMDRegister::ElementAccess { - operator Type() const { return simd.get (idx); } - ElementAccess& operator= (Type scalar) noexcept { simd.set (idx, scalar); return *this; } - ElementAccess& operator= (ElementAccess& o) noexcept { return operator= ((Type) o); } + ElementAccess (const ElementAccess&) = default; + operator Type() const { return simd.get (idx); } + ElementAccess& operator= (Type scalar) noexcept { simd.set (idx, scalar); return *this; } + ElementAccess& operator= (const ElementAccess& o) noexcept { return operator= ((Type) o); } private: friend struct SIMDRegister; diff --git a/modules/juce_graphics/contexts/juce_GraphicsContext.cpp b/modules/juce_graphics/contexts/juce_GraphicsContext.cpp index 0c0e211f27..85f098d17e 100644 --- a/modules/juce_graphics/contexts/juce_GraphicsContext.cpp +++ b/modules/juce_graphics/contexts/juce_GraphicsContext.cpp @@ -44,10 +44,6 @@ namespace } } -//============================================================================== -LowLevelGraphicsContext::LowLevelGraphicsContext() {} -LowLevelGraphicsContext::~LowLevelGraphicsContext() {} - //============================================================================== Graphics::Graphics (const Image& imageToDrawOnto) : contextHolder (imageToDrawOnto.createLowLevelContext()), @@ -61,10 +57,6 @@ Graphics::Graphics (LowLevelGraphicsContext& internalContext) noexcept { } -Graphics::~Graphics() -{ -} - //============================================================================== void Graphics::resetToDefaultState() { diff --git a/modules/juce_graphics/contexts/juce_GraphicsContext.h b/modules/juce_graphics/contexts/juce_GraphicsContext.h index 8622eecd1a..9f8274b4ee 100644 --- a/modules/juce_graphics/contexts/juce_GraphicsContext.h +++ b/modules/juce_graphics/contexts/juce_GraphicsContext.h @@ -56,9 +56,6 @@ public: */ explicit Graphics (const Image& imageToDrawOnto); - /** Destructor. */ - ~Graphics(); - //============================================================================== /** Changes the current drawing colour. diff --git a/modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h b/modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h index a647b886dc..92e36a81a3 100644 --- a/modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h +++ b/modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h @@ -46,10 +46,10 @@ class JUCE_API LowLevelGraphicsContext { protected: //============================================================================== - LowLevelGraphicsContext(); + LowLevelGraphicsContext() = default; public: - virtual ~LowLevelGraphicsContext(); + virtual ~LowLevelGraphicsContext() = default; /** Returns true if this device is vector-based, e.g. a printer. */ virtual bool isVectorDevice() const = 0; diff --git a/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp b/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp index e7fbe8477a..ecc8881d39 100644 --- a/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp +++ b/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp @@ -83,10 +83,6 @@ LowLevelGraphicsPostScriptRenderer::LowLevelGraphicsPostScriptRenderer (OutputSt << scale << ' ' << scale << " scale\n\n"; } -LowLevelGraphicsPostScriptRenderer::~LowLevelGraphicsPostScriptRenderer() -{ -} - //============================================================================== bool LowLevelGraphicsPostScriptRenderer::isVectorDevice() const { @@ -168,10 +164,6 @@ LowLevelGraphicsPostScriptRenderer::SavedState::SavedState() { } -LowLevelGraphicsPostScriptRenderer::SavedState::~SavedState() -{ -} - void LowLevelGraphicsPostScriptRenderer::saveState() { stateStack.add (new SavedState (*stateStack.getLast())); diff --git a/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h b/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h index d8e3509e90..5c4631c248 100644 --- a/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h +++ b/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h @@ -42,8 +42,6 @@ public: int totalWidth, int totalHeight); - ~LowLevelGraphicsPostScriptRenderer() override; - //============================================================================== bool isVectorDevice() const override; void setOrigin (Point) override; @@ -96,7 +94,6 @@ protected: { SavedState(); SavedState& operator= (const SavedState&) = delete; - ~SavedState(); RectangleList clip; int xOffset, yOffset; diff --git a/modules/juce_graphics/geometry/juce_BorderSize.h b/modules/juce_graphics/geometry/juce_BorderSize.h index 0fea60d319..ea94102766 100644 --- a/modules/juce_graphics/geometry/juce_BorderSize.h +++ b/modules/juce_graphics/geometry/juce_BorderSize.h @@ -47,9 +47,6 @@ public: */ BorderSize() = default; - /** Creates a copy of another border. */ - BorderSize (const BorderSize&) = default; - /** Creates a border with the given gaps. */ BorderSize (ValueType topGap, ValueType leftGap, ValueType bottomGap, ValueType rightGap) noexcept : top (topGap), left (leftGap), bottom (bottomGap), right (rightGap) diff --git a/modules/juce_gui_basics/layout/juce_FlexBox.cpp b/modules/juce_gui_basics/layout/juce_FlexBox.cpp index e2fdb68950..c24d1e8fdf 100644 --- a/modules/juce_gui_basics/layout/juce_FlexBox.cpp +++ b/modules/juce_gui_basics/layout/juce_FlexBox.cpp @@ -738,9 +738,6 @@ private: }; //============================================================================== -FlexBox::FlexBox() noexcept = default; -FlexBox::~FlexBox() noexcept = default; - FlexBox::FlexBox (JustifyContent jc) noexcept : justifyContent (jc) {} FlexBox::FlexBox (Direction d, Wrap w, AlignContent ac, AlignItems ai, JustifyContent jc) noexcept diff --git a/modules/juce_gui_basics/layout/juce_FlexBox.h b/modules/juce_gui_basics/layout/juce_FlexBox.h index 1d685a3cd2..d80e7dc2f6 100644 --- a/modules/juce_gui_basics/layout/juce_FlexBox.h +++ b/modules/juce_gui_basics/layout/juce_FlexBox.h @@ -91,7 +91,7 @@ public: //============================================================================== /** Creates an empty FlexBox container with default parameters. */ - FlexBox() noexcept; + FlexBox() noexcept = default; /** Creates an empty FlexBox container with these parameters. */ FlexBox (Direction, Wrap, AlignContent, AlignItems, JustifyContent) noexcept; @@ -99,9 +99,6 @@ public: /** Creates an empty FlexBox container with the given content-justification mode. */ FlexBox (JustifyContent) noexcept; - /** Destructor. */ - ~FlexBox() noexcept; - //============================================================================== /** Lays-out the box's items within the given rectangle. */ void performLayout (Rectangle targetArea); diff --git a/modules/juce_gui_basics/layout/juce_GridItem.cpp b/modules/juce_gui_basics/layout/juce_GridItem.cpp index 9cb29bc9b9..50ef812846 100644 --- a/modules/juce_gui_basics/layout/juce_GridItem.cpp +++ b/modules/juce_gui_basics/layout/juce_GridItem.cpp @@ -68,9 +68,7 @@ GridItem::Margin::Margin (float v) noexcept : left (v), right (v), top (v), bott GridItem::Margin::Margin (float t, float r, float b, float l) noexcept : left (l), right (r), top (t), bottom (b) {} //============================================================================== -GridItem::GridItem() noexcept {} -GridItem::~GridItem() noexcept {} - +GridItem::GridItem() noexcept = default; GridItem::GridItem (Component& componentToUse) noexcept : associatedComponent (&componentToUse) {} GridItem::GridItem (Component* componentToUse) noexcept : associatedComponent (componentToUse) {} diff --git a/modules/juce_gui_basics/layout/juce_GridItem.h b/modules/juce_gui_basics/layout/juce_GridItem.h index 8dffbf3618..7da2c089f2 100644 --- a/modules/juce_gui_basics/layout/juce_GridItem.h +++ b/modules/juce_gui_basics/layout/juce_GridItem.h @@ -128,9 +128,6 @@ public: /** Creates an item with a given Component to use. */ GridItem (Component* componentToUse) noexcept; - /** Destructor. */ - ~GridItem() noexcept; - //============================================================================== /** If this is non-null, it represents a Component whose bounds are controlled by this item. */ Component* associatedComponent = nullptr; diff --git a/modules/juce_gui_basics/mouse/juce_MouseEvent.cpp b/modules/juce_gui_basics/mouse/juce_MouseEvent.cpp index d0923b0ae9..47fd8b1550 100644 --- a/modules/juce_gui_basics/mouse/juce_MouseEvent.cpp +++ b/modules/juce_gui_basics/mouse/juce_MouseEvent.cpp @@ -57,10 +57,6 @@ MouseEvent::MouseEvent (MouseInputSource inputSource, { } -MouseEvent::~MouseEvent() noexcept -{ -} - //============================================================================== MouseEvent MouseEvent::getEventRelativeTo (Component* const otherComponent) const noexcept { diff --git a/modules/juce_gui_basics/mouse/juce_MouseEvent.h b/modules/juce_gui_basics/mouse/juce_MouseEvent.h index d63c2a49c5..729a95d79e 100644 --- a/modules/juce_gui_basics/mouse/juce_MouseEvent.h +++ b/modules/juce_gui_basics/mouse/juce_MouseEvent.h @@ -79,8 +79,11 @@ public: int numberOfClicks, bool mouseWasDragged) noexcept; - /** Destructor. */ - ~MouseEvent() noexcept; + MouseEvent (const MouseEvent&) = default; + MouseEvent& operator= (const MouseEvent&) = delete; + + MouseEvent (MouseEvent&&) = default; + MouseEvent& operator= (MouseEvent&&) = delete; //============================================================================== /** The position of the mouse when the event occurred. @@ -374,8 +377,6 @@ public: private: //============================================================================== const uint8 numberOfClicks, wasMovedSinceMouseDown; - - MouseEvent& operator= (const MouseEvent&); }; diff --git a/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp b/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp index 9786c08758..a11ae05d74 100644 --- a/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp +++ b/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp @@ -31,10 +31,6 @@ RecentlyOpenedFilesList::RecentlyOpenedFilesList() { } -RecentlyOpenedFilesList::~RecentlyOpenedFilesList() -{ -} - //============================================================================== void RecentlyOpenedFilesList::setMaxNumberOfItems (const int newMaxNumber) { diff --git a/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h b/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h index 7d2208583e..2bcd7e3050 100644 --- a/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h +++ b/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h @@ -46,9 +46,6 @@ public: */ RecentlyOpenedFilesList(); - /** Destructor. */ - ~RecentlyOpenedFilesList(); - //============================================================================== /** Sets a limit for the number of files that will be stored in the list.