Skip to content

Commit

Permalink
[GCC] Unreviewed, build fix for Debian 11 after 278358@main
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=273694

In GCC10, templated lambdas require empty arguments.

* Source/WebCore/bindings/js/JSDOMConvertUnion.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp:
(WebCore::CSSPropertyParserHelpers::parseColorFunctionParametersRaw):
* Source/WebCore/platform/graphics/ColorConversion.cpp:
(WebCore::convertAndResolveColorComponents):
* Source/WebCore/platform/graphics/ColorSpace.h:
(WebCore::callWithColorType):

Canonical link: https://commits.webkit.org/278386@main
  • Loading branch information
dpino committed May 5, 2024
1 parent b56ff58 commit ab7b68f
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 7 deletions.
6 changes: 3 additions & 3 deletions Source/WebCore/bindings/js/JSDOMConvertUnion.h
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ template<typename... T> struct Converter<IDLUnion<T...>> : DefaultConverter<IDLU
// (FIXME: Add support for object and step 4.2)
if (brigand::any<TypeList, IsIDLInterface<brigand::_1>>::value) {
std::optional<ReturnType> returnValue;
forEach<InterfaceTypeList>([&]<typename Type> {
forEach<InterfaceTypeList>([&]<typename Type>() {
if (returnValue)
return;

Expand Down Expand Up @@ -289,7 +289,7 @@ template<typename... T> struct Converter<IDLUnion<T...>> : DefaultConverter<IDLU
constexpr bool hasTypedArrayType = brigand::any<TypeList, IsIDLTypedArray<brigand::_1>>::value;
if (hasTypedArrayType) {
std::optional<ReturnType> returnValue;
forEach<TypedArrayTypeList>([&]<typename Type> {
forEach<TypedArrayTypeList>([&]<typename Type>() {
if (returnValue)
return;

Expand Down Expand Up @@ -415,7 +415,7 @@ template<typename... T> struct JSConverter<IDLUnion<T...>> {
auto index = variant.index();

std::optional<JSC::JSValue> returnValue;
forEach<Sequence>([&]<typename I> {
forEach<Sequence>([&]<typename I>() {
if (I::value == index) {
ASSERT(!returnValue);
returnValue = toJS<brigand::at<TypeList, I>>(lexicalGlobalObject, globalObject, std::get<I::value>(variant));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -614,7 +614,7 @@ static Color parseColorFunctionParametersRaw(CSSParserTokenRange& range, ColorPa
if (!originColor.isValid())
return { };

return callWithColorFunction(args.peek().id(), [&]<typename Descriptor> {
return callWithColorFunction(args.peek().id(), [&]<typename Descriptor>() {
consumeIdentRaw(args);

return parseGenericRelativeFunctionParametersRaw<Descriptor>(args, state, WTFMove(originColor));
Expand Down
4 changes: 2 additions & 2 deletions Source/WebCore/platform/graphics/ColorConversion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -365,9 +365,9 @@ OKLab<float> ColorConversion<OKLab<float>, OKLCHA<float>>::convert(const OKLCHA<

ColorComponents<float, 4> convertAndResolveColorComponents(ColorSpace inputColorSpace, ColorComponents<float, 4> inputColorComponents, ColorSpace outputColorSpace)
{
return callWithColorType<float>(inputColorSpace, [&]<typename InputColorType> {
return callWithColorType<float>(inputColorSpace, [&]<typename InputColorType>() {
auto inputColor = makeFromComponents<InputColorType>(inputColorComponents);
return callWithColorType<float>(outputColorSpace, [&]<typename OutputColorType> {
return callWithColorType<float>(outputColorSpace, [&]<typename OutputColorType>() {
return asColorComponents(convertColor<OutputColorType>(inputColor).resolved());
});
});
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/platform/graphics/ColorSpace.h
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ template<typename T, typename Functor> constexpr decltype(auto) callWithColorTyp

template<typename T, typename Functor> constexpr decltype(auto) callWithColorType(const ColorComponents<T, 4>& components, ColorSpace colorSpace, Functor&& functor)
{
return callWithColorType<T>(colorSpace, [&]<typename ColorType> {
return callWithColorType<T>(colorSpace, [&]<typename ColorType>() {
return std::invoke(std::forward<Functor>(functor), makeFromComponents<ColorType>(components));
});
}
Expand Down

0 comments on commit ab7b68f

Please sign in to comment.