Bug 259729 - Fails to build with GCC 13 due to overloaded-virtual error in FilterEffect
Summary: Fails to build with GCC 13 due to overloaded-virtual error in FilterEffect
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Carlos Garcia Campos
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-08-02 03:46 PDT by Carlos Garcia Campos
Modified: 2023-08-03 04:17 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Garcia Campos 2023-08-02 03:46:01 PDT
In file included from WebKit/Source/WebCore/platform/graphics/filters/FilterResults.h:28,
                 from WebKit/Source/WebCore/rendering/svg/RenderSVGResourceFilter.h:26,
                 from WebKit/Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h:25,
                 from WebKit/Source/WebCore/svg/SVGFEBlendElement.h:26,
                 from WebKit/WebKitBuild/Release/WebCore/DerivedSources/SVGElementFactory.cpp:49,
                 from WebKit/WebKitBuild/Release/WebCore/DerivedSources/unified-sources/UnifiedSource-3a52ce78-171.cpp:5:
WebKit/Source/WebCore/platform/graphics/filters/FilterEffect.h:44:18: error: ‘virtual bool WebCore::FilterEffect::operator==(const WebCore::FilterEffect&) const’ was hidden [-Werror=overloaded-virtual=]
   44 |     virtual bool operator==(const FilterEffect&) const;
      |                  ^~~~~~~~
In file included from WebKit/Source/WebCore/platform/graphics/filters/FESpecularLighting.h:25,
                 from WebKit/Source/WebCore/platform/graphics/filters/FESpecularLighting.h:25,
                 from WebKit/Source/WebCore/svg/SVGFESpecularLightingElement.h:25,
                 from WebKit/WebKitBuild/Release/WebCore/DerivedSources/SVGElementFactory.cpp:70:
WebKit/Source/WebCore/platform/graphics/filters/FELighting.h:42:10: note:   by ‘bool WebCore::FELighting::operator==(const WebCore::FELighting&) const’
   42 |     bool operator==(const FELighting&) const;
      |          ^~~~~~~~
Comment 1 Carlos Garcia Campos 2023-08-02 03:50:55 PDT
I fixed it by overriding operator== in FELighting.h and just returning false, since it shouldn't be called, if I understood it correctly, because FELighting is abstract. I don't know if that's the right fix, though.
Comment 2 Carlos Garcia Campos 2023-08-02 04:02:38 PDT
Pull request: https://github.com/WebKit/WebKit/pull/16310
Comment 3 EWS 2023-08-03 04:16:15 PDT
Committed 266539@main (c85962a5c0e9): <https://commits.webkit.org/266539@main>

Reviewed commits have been landed. Closing PR #16310 and removing active labels.
Comment 4 Radar WebKit Bug Importer 2023-08-03 04:17:17 PDT
<rdar://problem/113326293>