Bug 254821

Summary: Fix build of SourceBrush.cpp
Product: WebKit Reporter: Michael Catanzaro <mcatanzaro>
Component: WebCore Misc.Assignee: Michael Catanzaro <mcatanzaro>
Status: RESOLVED FIXED    
Severity: Normal CC: mcatanzaro, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=254742

Michael Catanzaro
Reported 2023-03-31 09:20:13 PDT
Can't build SourceBrush.cpp with GCC 13: In file included from /builddir/build/BUILD/webkitgtk-2.41.1/redhat-linux-build/webkitgtk-6.0/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-35.cpp:4: /builddir/build/BUILD/webkitgtk-2.41.1/Source/WebCore/platform/graphics/SourceBrush.cpp: In member function 'void WebCore::SourceBrush::setGradient(WTF::Ref<WebCore::Gradient>&&, const WebCore::AffineTransform&)': /builddir/build/BUILD/webkitgtk-2.41.1/Source/WebCore/platform/graphics/SourceBrush.cpp:89:82: error: converting to 'std::optional<WebCore::SourceBrush::Brush>' from initializer list would use explicit constructor 'constexpr std::optional<_Tp>::optional(_Up&&) [with _Up = WebCore::SourceBrush::Brush::LogicalGradient; typename std::enable_if<__and_v<std::__not_<std::is_same<std::optional<_Tp>, typename std::remove_cv<typename std::remove_reference<_Iter>::type>::type> >, std::__not_<std::is_same<std::in_place_t, typename std::remove_cv<typename std::remove_reference<_Iter>::type>::type> >, std::is_constructible<_Tp, _Up>, std::__not_<std::is_convertible<_Iter, _Iterator> > >, bool>::type <anonymous> = false; _Tp = WebCore::SourceBrush::Brush]' 89 | m_brush = { Brush::LogicalGradient { { WTFMove(gradient) }, spaceTransform } }; | ^ /builddir/build/BUILD/webkitgtk-2.41.1/Source/WebCore/platform/graphics/SourceBrush.cpp: In member function 'void WebCore::SourceBrush::setPattern(WTF::Ref<WebCore::Pattern>&&)': /builddir/build/BUILD/webkitgtk-2.41.1/Source/WebCore/platform/graphics/SourceBrush.cpp:94:87: error: converting to 'std::optional<WebCore::SourceBrush::Brush>' from initializer list would use explicit constructor 'constexpr std::optional<_Tp>::optional(_Up&&) [with _Up = std::variant<WebCore::SourceBrush::Brush::LogicalGradient, WTF::Ref<WebCore::Pattern, WTF::RawPtrTraits<WebCore::Pattern> > >; typename std::enable_if<__and_v<std::__not_<std::is_same<std::optional<_Tp>, typename std::remove_cv<typename std::remove_reference<_Iter>::type>::type> >, std::__not_<std::is_same<std::in_place_t, typename std::remove_cv<typename std::remove_reference<_Iter>::type>::type> >, std::is_constructible<_Tp, _Up>, std::__not_<std::is_convertible<_Iter, _Iterator> > >, bool>::type <anonymous> = false; _Tp = WebCore::SourceBrush::Brush]' 94 | m_brush = { Brush::Variant { std::in_place_type<Ref<Pattern>>, WTFMove(pattern) } }; | ^
Attachments
Michael Catanzaro
Comment 1 2023-03-31 09:22:22 PDT
262339@main is not enough to fix this.
Michael Catanzaro
Comment 2 2023-03-31 11:22:51 PDT
EWS
Comment 3 2023-03-31 12:25:47 PDT
Committed 262434@main (93920b55f52f): <https://commits.webkit.org/262434@main> Reviewed commits have been landed. Closing PR #12248 and removing active labels.
Radar WebKit Bug Importer
Comment 4 2023-03-31 12:26:15 PDT
Note You need to log in before you can comment on or make changes to this bug.