EnumTraits is not a class template on WebKit compilation for PowerPC

27 Views Asked by At

I am working on porting WebkitGTK to a PowerPC system, using a cross compiler and gcc 11.3.0. I have managed having JSC compiling just fine, but I get plenty of issues with WebCore compilation.

Below is the top part of the logs that fail.

[ 40%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/__/__/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-25.cpp.obj
In file included from /opt/code/webkitty/Source/WebCore/platform/graphics/filters/FilterFunction.h:28,
                 from /opt/code/webkitty/Source/WebCore/platform/graphics/filters/Filter.h:25,
                 from /opt/code/webkitty/Source/WebCore/platform/graphics/ConcreteImageBuffer.h:28,
                 from /opt/code/webkitty/Source/WebCore/platform/graphics/PlatformImageBuffer.h:28,
                 from /opt/code/webkitty/Source/WebCore/platform/graphics/ImageBuffer.cpp:33,
                 from /opt/code/webkitty/cross-build-mini/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-25.cpp:6:
/opt/code/webkitty/Source/WebCore/platform/graphics/filters/FilterEffectGeometry.h:118:19: error: ‘EnumTraits’ is not a class template
  118 | template<> struct EnumTraits<WebCore::FilterEffectGeometry::Flags> {
      |                   ^~~~~~~~~~
/opt/code/webkitty/Source/WebCore/platform/graphics/filters/FilterEffectGeometry.h:118:68: error: explicit specialization of non-template ‘WebCore::WTF::EnumTraits’
  118 | template<> struct EnumTraits<WebCore::FilterEffectGeometry::Flags> {
      |                                                                    ^
/opt/code/webkitty/Source/WebCore/platform/graphics/filters/FilterEffectGeometry.h:119:20: error: ‘EnumValues’ does not name a type
  119 |     using values = EnumValues<
      |                    ^~~~~~~~~~

And this is the code of the failing part. The full file can be found at https://github.com/walkero-gr/webkitty/blob/amigaos_2.36.8/Source/WebCore/platform/graphics/filters/FilterEffectGeometry.h#L118

namespace WTF {

template<> struct EnumTraits<WebCore::FilterEffectGeometry::Flags> {
    using values = EnumValues<
        WebCore::FilterEffectGeometry::Flags,

        WebCore::FilterEffectGeometry::Flags::HasX,
        WebCore::FilterEffectGeometry::Flags::HasY,
        WebCore::FilterEffectGeometry::Flags::HasWidth,
        WebCore::FilterEffectGeometry::Flags::HasHeight
    >;
};

} // namespace WTF

Any information or clue on what I should check next would be helpful.

0

There are 0 best solutions below