Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ninja: build stopped: subcommand failed. #12

Closed
libaineu2004 opened this issue May 5, 2020 · 4 comments
Closed

ninja: build stopped: subcommand failed. #12

libaineu2004 opened this issue May 5, 2020 · 4 comments

Comments

@libaineu2004
Copy link

libaineu2004 commented May 5, 2020

1.My computer environment
Win7 x64/Compiler,MSVC 2017/CMake 3.16.6

2.Compilation process and error prompts

F:\tmp-source\qt-hmi\skia\skui>mkdir ..\skui-build

F:\tmp-source\qt-hmi\skia\skui>cd ..\skui-build

F:\tmp-source\qt-hmi\skia\skui-build>cmake ..\skui -G Ninja
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: C:/Strawberry/c/bin/gcc.exe
-- Check for working C compiler: C:/Strawberry/c/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Strawberry/c/bin/c++.exe
-- Check for working CXX compiler: C:/Strawberry/c/bin/c++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenGL: opengl32
-- Configuring done
-- Generating done
-- Build files have been written to: F:/tmp-source/qt-hmi/skia/skui-build

F:\tmp-source\qt-hmi\skia\skui-build>cmake --build .
[30/993] Building CXX object 3rdparty/skia/CMakeFiles/skia.dir/src/core/SkStroke.cpp.obj
FAILED: 3rdparty/skia/CMakeFiles/skia.dir/src/core/SkStroke.cpp.obj
C:\Strawberry\c\bin\c++.exe  -DNOMINMAX -DSKIA_IMPLEMENTATION=1 -DSK_HAS_PNG_LIBRARY -DWIN32_LEAN_AND_MEAN -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/libpng -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/zlib -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/libexpat -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/giflib -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/libjpeg-turbo -isystem F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/third_party/skcms -isystem F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/. -pedantic-errors -Wextra -Wconversion -Winit-self -Wmissing-include-dirs -Wstrict-aliasing -Werror  -ffunction-sections -fdata-sections   -Wno-conversion -Wno-pedantic -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Wno-deprecated-declarations -Wno-narrowing -Wno-maybe-uninitialized -std=c++14 -MD -MT 3rdparty/skia/CMakeFiles/skia.dir/src/core/SkStroke.cpp.obj -MF 3rdparty\skia\CMakeFiles\skia.dir\src\core\SkStroke.cpp.obj.d -o 3rdparty/skia/CMakeFiles/skia.dir/src/core/SkStroke.cpp.obj -c F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStroke.cpp
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStroke.cpp:889:83: error: ISO C99 requires rest arguments to be used
         return STROKER_RESULT(kDegenerate_ResultType, depth, quadPts, "denom == 0");
                                                                                   ^
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStroke.cpp:13:0:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkPathPriv.h: In member function 'bool SkTPathContourParser<TSubclass>::parseNextContour()':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkPathPriv.h:518:55: error: expected ',' before ')' token
                 static_assert(SkPath::kLine_Verb  == 1); case 1:
                                                       ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkPathPriv.h:518:55: error: expected string-literal before ')' token
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkPathPriv.h:519:55: error: expected ',' before ')' token
                 static_assert(SkPath::kQuad_Verb  == 2); case 2:
                                                       ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkPathPriv.h:519:55: error: expected string-literal before ')' token
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkPathPriv.h:520:55: error: expected ',' before ')' token
                 static_assert(SkPath::kConic_Verb == 3); case 3:
                                                       ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkPathPriv.h:520:55: error: expected string-literal before ')' token
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkPathPriv.h:521:55: error: expected ',' before ')' token
                 static_assert(SkPath::kCubic_Verb == 4); case 4:
                                                       ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkPathPriv.h:521:55: error: expected string-literal before ')' token
[33/993] Building CXX object 3rdparty/skia/CMakeFiles/skia.dir/src/core/SkStrikeSpec.cpp.obj
FAILED: 3rdparty/skia/CMakeFiles/skia.dir/src/core/SkStrikeSpec.cpp.obj
C:\Strawberry\c\bin\c++.exe  -DNOMINMAX -DSKIA_IMPLEMENTATION=1 -DSK_HAS_PNG_LIBRARY -DWIN32_LEAN_AND_MEAN -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/libpng -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/zlib -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/libexpat -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/giflib -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/libjpeg-turbo -isystem F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/third_party/skcms -isystem F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/. -pedantic-errors -Wextra -Wconversion -Winit-self -Wmissing-include-dirs -Wstrict-aliasing -Werror  -ffunction-sections -fdata-sections   -Wno-conversion -Wno-pedantic -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Wno-deprecated-declarations -Wno-narrowing -Wno-maybe-uninitialized -std=c++14 -MD -MT 3rdparty/skia/CMakeFiles/skia.dir/src/core/SkStrikeSpec.cpp.obj -MF 3rdparty\skia\CMakeFiles\skia.dir\src\core\SkStrikeSpec.cpp.obj.d -o 3rdparty/skia/CMakeFiles/skia.dir/src/core/SkStrikeSpec.cpp.obj -c F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerContext.h:20:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkDescriptor.h:16,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:11,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyph.h: In static member function 's
tatic constexpr uint32_t SkPackedGlyphID::PackIDSubXSubY(SkGlyphID, uint32_t, uint32_t)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyph.h:113:5: error: body of constex
pr function 'static constexpr uint32_t SkPackedGlyphID::PackIDSubXSubY(SkGlyphID, uint32_t, u
int32_t)' not a return-statement
     }
     ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyph.h: In member function 'constexpr SkFixed SkPackedGlyphID::subToFixed(uint32_t) const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyph.h:173:5: error: body of constexpr function 'constexpr SkFixed SkPackedGlyphID::subToFixed(uint32_t) const' not a return-statement
     }
     ^
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeForGPU.h:15:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerContext.h:23,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkDescriptor.h:16,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:11,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkSpan.h: In member function 'constexpr auto SkSpan<T>::rbegin() const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkSpan.h:34:44: error: 'make_reverse_iterator' is not a member of 'std'
     constexpr auto rbegin() const { return std::make_reverse_iterator(this->end()); }
                                            ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkSpan.h: In member function 'constexpr auto SkSpan<T>::rend() const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkSpan.h:35:42: error: 'make_reverse_iterator' is not a member of 'std'
     constexpr auto rend() const { return std::make_reverse_iterator(this->begin()); }
                                          ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkSpan.h: In member function 'constexpr auto SkSpan<T>::crbegin() const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkSpan.h:36:45: error: 'make_reverse_iterator' is not a member of 'std'
     constexpr auto crbegin() const { return std::make_reverse_iterator(this->cend()); }
                                             ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkSpan.h: In member function 'constexpr auto SkSpan<T>::crend() const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkSpan.h:37:43: error: 'make_reverse_iterator' is not a member of 'std'
     constexpr auto crend() const { return std::make_reverse_iterator(this->cbegin()); }
                                           ^
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:11:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphRunPainter.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerCache.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkEnumerate.h: In static member function 'static constexpr auto SkEnumerate<Iter, C>::MakeResult(size_t, SkEnumerate<Iter, C>::Captured&&)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkEnumerate.h:23:12: error: expected '(' before 'constexpr'
         if constexpr (is_tuple<Captured>::value) {
            ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkEnumerate.h:29:5: error: expected '}' at end of input
     }
     ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkEnumerate.h: In member function 'constexpr SkEnumerate<Iter, C>::Iterator SkEnumerate<Iter, C>::Iterator::operator++() const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkEnumerate.h:41:45: error: increment of read-only location '((const SkEnumerate<Iter, C>::Iterator*)this)->SkEnumerate<Iter, C>::Iterator::fIndex'
         constexpr Iterator operator++() { ++fIndex; ++fIt; return *this; }
                                             ^
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:13:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphRunPainter.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerCache.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h: At global scope:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:50:35: error: template declaration of 'constexpr T* const nullify'
     static constexpr T* nullify = nullptr;
                                   ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h: In member function 'constexprSkZip<Ts>::Iterator& SkZip<Ts>::Iterator::operator++() const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:35:46: error: increment of read-only location '((const SkZip<Ts>::Iterator*)this)->SkZip<Ts>::Iterator::fIndex'
         constexpr Iterator& operator++() { ++fIndex; return *this; }
                                              ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h: In constructor 'constexpr SkZip<Ts>::SkZip()':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:53:35: error: 'nullify' was not declared in this scope
     constexpr SkZip() : fPointers{nullify<Ts>...}, fSize{0} {}
                                   ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:53:45: error: expected primary-expression before '>' token
     constexpr SkZip() : fPointers{nullify<Ts>...}, fSize{0} {}
                                             ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:53:46: error: expected primary-expression before '...' token
     constexpr SkZip() : fPointers{nullify<Ts>...}, fSize{0} {}
                                              ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h: At global scope:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:207:28: error: 'constexpr T* const SkZip<Ts>::nullify' is not a static member of 'class SkZip<Ts>'
 constexpr T* SkZip<Ts...>::nullify;
                            ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:207:28: error: template definition of non-template 'constexpr T* const SkZip<Ts>::nullify'
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphRunPainter.h:13:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerCache.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h: In member function 'void SkSourceGlyphBuffer::reject(size_t)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:37:18: error: expected unqualified-id before '[' token
             auto [glyphID, pos] = fSource[index];
                  ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:38:41: error: 'glyphID' was not declared in this scope
             fRejectedGlyphIDs.push_back(glyphID);
                                         ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:39:42: error: 'pos' was not declared in this scope
             fRejectedPositions.push_back(pos);
                                          ^
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:13:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphRunPainter.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerCache.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h: In instantiation of 'constexpr SkZip<Ts>::ReturnTuple SkZip<Ts>::index(size_t) const [with Ts = {short unsigned int, SkPoint}; SkZip<Ts>::ReturnTuple = std::tuple<short unsigned int&, SkPoint&>; size_t = unsigned int]':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:72:76:   required from 'constexpr SkZip<Ts>::ReturnTuple SkZip<Ts>::operator[](size_t) const [with Ts = {short unsigned int, SkPoint}; SkZip<Ts>::ReturnTuple = std::tuple<short unsigned int&, SkPoint&>; size_t = unsigned int]'
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:43:35:   required from here
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:109:5: error: body of constexpr function 'constexpr SkZip<Ts>::ReturnTuple SkZip<Ts>::index(size_t) const [with Ts = {shortunsigned int, SkPoint}; SkZip<Ts>::ReturnTuple = std::tuple<short unsigned int&, SkPoint&>; size_t = unsigned int]' not a return-statement
     }
     ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h: In instantiation of 'constexpr SkZip<Ts>::ReturnTuple SkZip<Ts>::index(size_t) const [with Ts = {const short unsigned int, const SkPoint}; SkZip<Ts>::ReturnTuple = std::tuple<const short unsigned int&, const SkPoint&>; size_t = unsigned int]':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:72:76:   required from 'constexpr SkZip<Ts>::ReturnTuple SkZip<Ts>::operator[](size_t) const [with Ts = {const short unsigned int, const SkPoint}; SkZip<Ts>::ReturnTuple = std::tuple<const short unsigned int&, const SkPoint&>; size_t = unsigned int]'
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:43:52:   required from here
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:109:5: error: body of constexpr function 'constexpr SkZip<Ts>::ReturnTuple SkZip<Ts>::index(size_t) const [with Ts = {const short unsigned int, const SkPoint}; SkZip<Ts>::ReturnTuple = std::tuple<const short unsigned int&, const SkPoint&>; size_t = unsigned int]' not a return-statement
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h: In instantiation of 'static constexpr auto SkMakeZipDetail::MakeZip(Ts&& ...) [with Ts = {SkSTArray<4, short unsigned int, false>&, SkSTArray<4, SkPoint, false>&}]':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:211:60:   required from 'constexpr auto SkMakeZip(Ts&& ...) [with Ts = {SkSTArray<4, short unsigned int, false>&, SkSTArray<4, SkPoint, false>&}]'
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:53:67:   required from here
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:202:5: error: body of constexpr function 'static constexpr auto SkMakeZipDetail::MakeZip(Ts&& ...) [with Ts = {SkSTArray<4, short unsigned int, false>&, SkSTArray<4, SkPoint, false>&}]' not a return-statement
     }
     ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h: In instantiation of 'constexpr SkZip<Ts>::SkZip() [with Ts = {short unsigned int, SkPoint}]':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:85:36:   required from 'constexpr SkZip<Ts> SkZip<Ts>::first(size_t) const [with Ts = {short unsigned int, SkPoint}; size_t = unsigned int]'
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:53:86:   required from here
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:53:59: error: no matching function for call to 'std::tuple<short unsigned int*, SkPoint*>::tuple(<brace-enclosed initializer list>)'
     constexpr SkZip() : fPointers{nullify<Ts>...}, fSize{0} {}
                                                           ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:53:59: note: candidates are: In file included from C:/Strawberry/c/i686-w64-mingw32/include/c++/functional:55:0,
                 from C:/Strawberry/c/i686-w64-mingw32/include/c++/memory:79,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkDescriptor.h:11,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:11,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:611:9: note: template<class _Alloc, class _U1, class _U2> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::pair<_U1, _U2>&&)
         tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
         ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:611:9: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:606:9: note: template<class _Alloc, class _U1, class _U2> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::pair<_U1, _U2>&)
         tuple(allocator_arg_t __tag, const _Alloc& __a,
         ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:606:9: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:601:2: note: template<class _Alloc, class _U1, class _U2> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_U1, _U2>&&)
  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:601:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:594:2: note: template<class _Alloc, class _U1, class _U2> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_U1, _U2>&)
  tuple(allocator_arg_t __tag, const _Alloc& __a,
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:594:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:590:2: note: template<class _Alloc> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_T1, _T2>&&)
  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:590:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:586:2: note: template<class _Alloc> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_T1, _T2>&)
  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:586:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:581:2: note: template<class _Alloc, class _U1, class _U2> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, _U1&&, _U2&&)
  tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2)
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:581:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:576:2: note: template<class _Alloc> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const _T1&, const _T2&)
  tuple(allocator_arg_t __tag, const _Alloc& __a,
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:576:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:572:2: note: template<class _Alloc> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&)
  tuple(allocator_arg_t __tag, const _Alloc& __a)
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:572:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:565:19: note: template<class _U1, class _U2, class> constexpr std::tuple<_T1, _T2>::tuple(std::pair<_U1, _U2>&&)
         constexpr tuple(pair<_U1, _U2>&& __in)
                   ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:565:19: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:559:19: note: template<class _U1, class _U2, class> constexpr std::tuple<_T1, _T2>::tuple(const std::pair<_U1, _U2>&)
         constexpr tuple(const pair<_U1, _U2>& __in)
                   ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:559:19: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:553:19: note: template<class _U1, class _U2, class> constexpr std::tuple<_T1, _T2>::tuple(std::tuple<_U1, _U2>&&)
         constexpr tuple(tuple<_U1, _U2>&& __in)
                   ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:553:19: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:547:19: note: template<class _U1, class _U2, class> constexpr std::tuple<_T1, _T2>::tuple(const std::tuple<_U1, _U2>&)
         constexpr tuple(const tuple<_U1, _U2>& __in)
                   ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:547:19: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:542:17: note: constexpr std::tuple<_T1, _T2>::tuple(std::tuple<_T1, _T2>&&) [with _T1 = short unsigned int*; _T2 = SkPoint*]
       constexpr tuple(tuple&&) = default;
                 ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:542:17: note:   no known conversion for argument 1 from '<type error>' to 'std::tuple<short unsigned int*, SkPoint*>&&'
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:540:17: note: constexpr std::tuple<_T1, _T2>::tuple(const std::tuple<_T1, _T2>&) [with _T1 = short unsigned int*; _T2 = SkPoint*]
       constexpr tuple(const tuple&) = default;
                 ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:540:17: note:   no known conversion for argument 1 from '<type error>' to 'const std::tuple<short unsigned int*, SkPoint*>&'
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:537:19: note: template<class _U1, class _U2, class> constexpr std::tuple<_T1, _T2>::tuple(_U1&&, _U2&&)
         constexpr tuple(_U1&& __a1, _U2&& __a2)
                   ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:537:19: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:530:17: note: constexpr std::tuple<_T1, _T2>::tuple(const _T1&, const _T2&) [with _T1 = short unsigned int*; _T2 = SkPoint*]
       constexpr tuple(const _T1& __a1, const _T2& __a2)
                 ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:530:17: note:   candidate expects 2 arguments, 1 provided
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:526:17: note: constexpr std::tuple<_T1, _T2>::tuple() [with _T1 = short unsigned int*; _T2 = SkPoint*]
       constexpr tuple()
                 ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:526:17: note:   candidate expects 0 arguments, 1 provided
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:13:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphRunPainter.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerCache.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h: In instantiation of 'constexpr SkZip<Ts> SkZip<Ts>::first(size_t) const [with Ts = {short unsigned int, SkPoint}; size_t = unsigned int]':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:53:86:   required from here
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:87:5: error: body of constexpr function 'constexpr SkZip<Ts> SkZip<Ts>::first(size_t) const [with Ts = {short unsigned int, SkPoint}; size_t = unsigned int]' not a return-statement
     }
     ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h: In instantiation of 'constexpr SkZip<Ts>::SkZip() [with Ts = {const short unsigned int, const SkPoint}]':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:66:78:   required from here
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:53:59: error: no matching function for call to 'std::tuple<const short unsigned int*, const SkPoint*>::tuple(<brace-enclosed initializer list>)'
     constexpr SkZip() : fPointers{nullify<Ts>...}, fSize{0} {}
                                                           ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkZip.h:53:59: note: candidates are:
In file included from C:/Strawberry/c/i686-w64-mingw32/include/c++/functional:55:0,
                 from C:/Strawberry/c/i686-w64-mingw32/include/c++/memory:79,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkDescriptor.h:11,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:11,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:611:9: note: template<class _Alloc, class _U1, class _U2> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::pair<_U1, _U2>&&)
         tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
         ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:611:9: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:606:9: note: template<class _Alloc, class_U1, class _U2> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::pair<_U1, _U2>&)
         tuple(allocator_arg_t __tag, const _Alloc& __a,
         ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:606:9: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:601:2: note: template<class _Alloc, class _U1, class _U2> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_U1, _U2>&&)
  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:601:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:594:2: note: template<class _Alloc, class _U1, class _U2> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_U1, _U2>&)
  tuple(allocator_arg_t __tag, const _Alloc& __a,
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:594:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:590:2: note: template<class _Alloc> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_T1, _T2>&&)
  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:590:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:586:2: note: template<class _Alloc> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_T1, _T2>&)
  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:586:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:581:2: note: template<class _Alloc, class _U1, class _U2> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, _U1&&, _U2&&)
  tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2)
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:581:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:576:2: note: template<class _Alloc> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const _T1&, const _T2&)
  tuple(allocator_arg_t __tag, const _Alloc& __a,
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:576:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:572:2: note: template<class _Alloc> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&)
  tuple(allocator_arg_t __tag, const _Alloc& __a)
  ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:572:2: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:565:19: note: template<class _U1, class _U2, class> constexpr std::tuple<_T1, _T2>::tuple(std::pair<_U1, _U2>&&)
         constexpr tuple(pair<_U1, _U2>&& __in)
                   ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:565:19: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:559:19: note: template<class _U1, class _U2, class> constexpr std::tuple<_T1, _T2>::tuple(const std::pair<_U1, _U2>&)
         constexpr tuple(const pair<_U1, _U2>& __in)
                   ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:559:19: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:553:19: note: template<class _U1, class _U2, class> constexpr std::tuple<_T1, _T2>::tuple(std::tuple<_U1, _U2>&&)
         constexpr tuple(tuple<_U1, _U2>&& __in)
                   ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:553:19: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:547:19: note: template<class _U1, class _U2, class> constexpr std::tuple<_T1, _T2>::tuple(const std::tuple<_U1, _U2>&)
         constexpr tuple(const tuple<_U1, _U2>& __in)
                   ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:547:19: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:542:17: note: constexpr std::tuple<_T1, _T2>::tuple(std::tuple<_T1, _T2>&&) [with _T1 = const short unsigned int*; _T2 = const SkPoint*]
       constexpr tuple(tuple&&) = default;
                 ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:542:17: note:   no known conversion for argument 1 from '<type error>' to 'std::tuple<const short unsigned int*, const SkPoint*>&&'
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:540:17: note: constexpr std::tuple<_T1, _T2>::tuple(const std::tuple<_T1, _T2>&) [with _T1 = const short unsigned int*; _T2 = const SkPoint*]
       constexpr tuple(const tuple&) = default;
                 ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:540:17: note:   no known conversion for argument 1 from '<type error>' to 'const std::tuple<const short unsigned int*, const SkPoint*>&'
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:537:19: note: template<class _U1, class _U2, class> constexpr std::tuple<_T1, _T2>::tuple(_U1&&, _U2&&)
         constexpr tuple(_U1&& __a1, _U2&& __a2)
                   ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:537:19: note:   template argument deduction/substitution failed:
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:530:17: note: constexpr std::tuple<_T1, _T2>::tuple(const _T1&, const _T2&) [with _T1 = const short unsigned int*; _T2 = const SkPoint*]
       constexpr tuple(const _T1& __a1, const _T2& __a2)
                 ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:530:17: note:   candidate expects 2 arguments, 1 provided
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:526:17: note: constexpr std::tuple<_T1, _T2>::tuple() [with _T1 = const short unsigned int*; _T2 = const SkPoint*]
       constexpr tuple()
                 ^
C:/Strawberry/c/i686-w64-mingw32/include/c++/tuple:526:17: note:   candidate expects 0 arguments, 1 provided
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphRunPainter.h:13:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerCache.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h: In member function 'void SkDrawableGlyphBuffer::forEachGlyphID(Fn&&)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:196:19: error: expected unqualified-id before '[' token
         for (auto [i, packedID, pos] : SkMakeEnumerate(this->input())) {
                   ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:196:19: error: expected ';' before '[' token
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:196:20: error: 'i' was not declared in this scope
         for (auto [i, packedID, pos] : SkMakeEnumerate(this->input())) {
                    ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:196:23: error: 'packedID' was not declared in this scope
         for (auto [i, packedID, pos] : SkMakeEnumerate(this->input())) {
                       ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:196:33: error: 'pos' was not declared in this scope
         for (auto [i, packedID, pos] : SkMakeEnumerate(this->input())) {
                                 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h: In lambda function:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:196:38: error: expected '{' before ':' token
         for (auto [i, packedID, pos] : SkMakeEnumerate(this->input())) {
                                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h: In member function 'void SkDrawableGlyphBuffer::forEachGlyphID(Fn&&)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:196:38: error: expected ';' before ':' token
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:196:38: error: expected primary-expression before ':' token
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:196:38: error: expected ')' before ':' token
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphBuffer.h:196:38: error: expected primary-expression before ':' token
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrGpuResource.h:12:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrGpuBuffer.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrProcessor.h:14,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrPrimitiveProcessor.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrGeometryProcessor.h:11,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/text/GrTextContext.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphRunPainter.h:19,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerCache.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr size_t GrAlignTo(size_t, size_t)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:45:1: error: body of constexpr function 'constexpr size_t GrAlignTo(size_t, size_t)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr bool GrAATypeIsHW(GrAAType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:235:1: error: body of constexpr function 'constexpr bool GrAATypeIsHW(GrAAType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr bool GrSLTypeIsFloatType(GrSLType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:416:1: error: body of constexpr function 'constexpr bool GrSLTypeIsFloatType(GrSLType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr int GrSLTypeVecLength(GrSLType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:475:1: error: body of constexpr function 'constexpr int GrSLTypeVecLength(GrSLType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr bool GrSLTypeIsCombinedSamplerType(GrSLType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:556:1: error: body of constexpr function 'constexpr bool GrSLTypeIsCombinedSamplerType(GrSLType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr SkColorType GrColorTypeToSkColorType(GrColorType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:844:1: error: body of constexpr function 'constexpr SkColorType GrColorTypeToSkColorType(GrColorType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr GrColorType SkColorTypeToGrColorType(SkColorType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:871:1: error: body of constexpr function 'constexpr GrColorType SkColorTypeToGrColorType(SkColorType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr uint32_t GrColorTypeChannelFlags(GrColorType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:910:1: error: body of constexpr function 'constexpr uint32_t GrColorTypeChannelFlags(GrColorType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In member function 'constexpr int GrColorTypeDesc::operator[](int) const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:977:5: error: body of constexpr function 'constexpr int GrColorTypeDesc::operator[](int) const' not a return-statement
     }
     ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In constructor 'constexpr GrColorTypeDesc::GrColorTypeDesc(int, int, int, int, int, GrColorTypeEncoding)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:998:5: error: constexpr constructor does not have empty body
     }
     ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr GrColorTypeDesc GrGetColorTypeDesc(GrColorType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:1059:1: error: body of constexpr function 'constexpr GrColorTypeDesc GrGetColorTypeDesc(GrColorType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr GrClampType GrColorTypeClampType(GrColorType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:1067:1: error: body of constexpr function 'constexpr GrClampType GrColorTypeClampType(GrColorType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr bool GrColorTypeIsWiderThan(GrColorType, int)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:1079:1: error: body of constexpr function 'constexpr bool GrColorTypeIsWiderThan(GrColorType, int)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr size_t GrColorTypeBytesPerPixel(GrColorType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:1120:1: error: body of constexpr function 'constexpr size_t GrColorTypeBytesPerPixel(GrColorType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr SkColorType GrCompressionTypeToSkColorType(SkImage::CompressionType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:1133:1: error: body of constexpr function 'constexpr SkColorType GrCompressionTypeToSkColorType(SkImage::CompressionType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr GrColorType GrMaskFormatToColorType(GrMaskFormat)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:1145:1: error: body of constexpr function 'constexpr GrColorType GrMaskFormatToColorType(GrMaskFormat)' not a return-statement
 }
 ^
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrProcessor.h:16:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrPrimitiveProcessor.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrGeometryProcessor.h:11,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/text/GrTextContext.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphRunPainter.h:19,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerCache.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h: At global scope:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:40:31: error: defaulted declaration 'constexpr GrSamplerState& GrSamplerState::operator=(const GrSamplerState&) const'
     constexpr GrSamplerState& operator=(const GrSamplerState&) = default;
                               ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:40:31: error: does not match expected signature 'GrSamplerState& GrSamplerState::operator=(const GrSamplerState&)'
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:40:31: error: explicitly defaulted function 'constexpr GrSamplerState& GrSamplerState::operator=(const GrSamplerState&) const' cannot be declared as constexpr because the implicit declaration is not constexpr:

F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h: In member function 'constexpr void GrSamplerState::setFilterMode(GrSamplerState::Filter) const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:44:63: error: assignment of member 'GrSamplerState::fFilter' in read-only object
     constexpr void setFilterMode(Filter filterMode) { fFilter = filterMode; }
                                                               ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:44:20: error: invalid return type 'void' of constexpr function 'constexpr void GrSamplerState::setFilterMode(GrSamplerState::Filter) const'
     constexpr void setFilterMode(Filter filterMode) { fFilter = filterMode; }
                    ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h: In member function 'constexpr void GrSamplerState::setWrapModeX(GrSamplerState::WrapMode) const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:46:70: error: assignment of read-only location '((const GrSamplerState*)this)->GrSamplerState::fWrapModes[0]'
     constexpr void setWrapModeX(const WrapMode wrap) { fWrapModes[0] = wrap; }
                                                                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:46:20: error: invalid return type 'void' of constexpr function 'constexpr void GrSamplerState::setWrapModeX(GrSamplerState::WrapMode) const'
     constexpr void setWrapModeX(const WrapMode wrap) { fWrapModes[0] = wrap; }
                    ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h: In member function 'constexpr void GrSamplerState::setWrapModeY(GrSamplerState::WrapMode) const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:47:70: error: assignment of read-only location '((const GrSamplerState*)this)->GrSamplerState::fWrapModes[1]'
     constexpr void setWrapModeY(const WrapMode wrap) { fWrapModes[1] = wrap; }
                                                                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:47:20: error: invalid return type 'void' of constexpr function 'constexpr void GrSamplerState::setWrapModeY(GrSamplerState::WrapMode) const'
     constexpr void setWrapModeY(const WrapMode wrap) { fWrapModes[1] = wrap; }
                    ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h: In static member function 'static constexpr uint8_t GrSamplerState::GenerateKey(GrSamplerState)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:78:5: error: body of constexpr function 'static constexpr uint8_t GrSamplerState::GenerateKey(GrSamplerState)' not a return-statement
     }
     ^
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrPrimitiveProcessor.h:15:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrGeometryProcessor.h:11,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/text/GrTextContext.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphRunPainter.h:19,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerCache.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h: In member function 'constexpr char GrSwizzle::operator[](int) const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:41:5: error: body of constexpr function 'constexpr char GrSwizzle::operator[](int) const' not a return-statement
     }
     ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h: In member function 'constexpr GrSwizzle& GrSwizzle::operator=(const GrSwizzle&) const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:74:10: error: assignment of member 'GrSwizzle::fKey' in read-only object
     fKey = that.fKey;
          ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:75:13: error: invalid initialization of reference of type 'GrSwizzle&' from expression of type 'const GrSwizzle'
     return *this;
             ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:76:1: error: body of constexpr function 'constexpr GrSwizzle& GrSwizzle::operator=(const GrSwizzle&) const' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h: In static member function '
static constexpr int GrSwizzle::CToI(char)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:121:1: error: body of conste
xpr function 'static constexpr int GrSwizzle::CToI(char)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h: In static member function 'static constexpr char GrSwizzle::IToC(int)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:125:22: error: 'static constexpr int GrSwizzle::CToI(char)' called in a constant expression
         case CToI('r'): return 'r';
                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:126:22: error: 'static constexpr int GrSwizzle::CToI(char)' called in a constant expression
         case CToI('g'): return 'g';
                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:127:22: error: 'static constexpr int GrSwizzle::CToI(char)' called in a constant expression
         case CToI('b'): return 'b';
                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:128:22: error: 'static constexpr int GrSwizzle::CToI(char)' called in a constant expression
         case CToI('a'): return 'a';
                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:129:22: error: 'static constexpr int GrSwizzle::CToI(char)' called in a constant expression
         case CToI('0'): return '0';
                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:130:22: error: 'static constexpr int GrSwizzle::CToI(char)' called in a constant expression
         case CToI('1'): return '1';
                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:133:1: error: body of constexpr function 'static constexpr char GrSwizzle::IToC(int)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h: In static member function 'static constexpr GrSwizzle GrSwizzle::Concat(const GrSwizzle&, const GrSwizzle&)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:147:1: error: body of constexpr function 'static constexpr GrSwizzle GrSwizzle::Concat(const GrSwizzle&, const GrSwizzle&)' not a return-statement
 }
 ^
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrGeometryProcessor.h:11:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/text/GrTextContext.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphRunPainter.h:19,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerCache.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrPrimitiveProcessor.h: In function 'constexpr size_t GrVertexAttribTypeSize(GrVertexAttribType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrPrimitiveProcessor.h:372:1: error: body of constexpr function 'constexpr size_t GrVertexAttribTypeSize(GrVertexAttribType)' not a return-statement
 }
 ^
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrRenderTargetProxy.h:12:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrAuditTrail.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrTracing.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/ops/GrOp.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrFragmentProcessor.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrColorSpaceXform.h:14,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrColorInfo.h:14,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/text/GrTextTarget.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/text/GrTextContext.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphRunPainter.h:19,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerCache.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrCaps.h: At global scope:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrCaps.h:515:45: error: expected ',' before ')' token
     static_assert(kLast_GrBlendEquation < 32);
                                             ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrCaps.h:515:45: error: expected string-literal before ')' token
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrRenderTargetProxy.h:13:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrAuditTrail.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrTracing.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/ops/GrOp.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrFragmentProcessor.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrColorSpaceXform.h:14,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrColorInfo.h:14,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/text/GrTextTarget.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/text/GrTextContext.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphRunPainter.h:19,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerCache.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrNativeRect.h: In member function 'const int* GrNativeRect::asInts() const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrNativeRect.h:44:54: error: expected ',' before ')' token
         static_assert(0 == offsetof(GrNativeRect, fX));
                                                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrNativeRect.h:44:54: error: expected string-literal before ')' token
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrNativeRect.h:45:54: error: expected ',' before ')' token
         static_assert(4 == offsetof(GrNativeRect, fY));
                                                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrNativeRect.h:45:54: error: expected string-literal before ')' token
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrNativeRect.h:46:58: error: expected ',' before ')' token
         static_assert(8 == offsetof(GrNativeRect, fWidth));
                                                          ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrNativeRect.h:46:58: error: expected string-literal before ')' token
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrNativeRect.h:47:60: error: expected ',' before ')' token
         static_assert(12 == offsetof(GrNativeRect, fHeight));
                                                            ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrNativeRect.h:47:60: error: expected string-literal before ')' token
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrNativeRect.h:48:49: error: expected ',' before ')' token
         static_assert(16 == sizeof(GrNativeRect));  // For an array of GrNativeRect.
                                                 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrNativeRect.h:48:49: error: expected string-literal before ')' token
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/ops/GrOp.h:18:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrFragmentProcessor.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrColorSpaceXform.h:14,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrColorInfo.h:14,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/text/GrTextTarget.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/text/GrTextContext.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkGlyphRunPainter.h:19,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkScalerCache.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:17,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrXferProcessor.h: At global scope:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrXferProcessor.h:32:57: error: expected ',' before ')' token
 static_assert(SkToBool(kNone_GrXferBarrierType) == false);
                                                         ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrXferProcessor.h:32:57: error: expected string-literal before ')' token
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.h:12:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h: In member function 'SkGlyph* SkStrikeCache::Strike::mergeGlyphAndImage(SkPackedGlyphID, const SkGlyph&)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:57:18: error: expected unqualified-id before '[' token
             auto [glyph, increase] = fScalerCache.mergeGlyphAndImage(toID, from);
                  ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:58:31: error: 'increase' was not declared in this scope
             this->updateDelta(increase);
                               ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:59:20: error: 'glyph' was not declared in this scope
             return glyph;
                    ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h: In member function 'const SkPath* SkStrikeCache::Strike::mergePath(SkGlyph*, const SkPath*)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:63:18: error: expected unqualified-id before '[' token
             auto [glyphPath, increase] = fScalerCache.mergePath(glyph, path);
                  ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:64:31: error: 'increase' was not declared in this scope
             this->updateDelta(increase);
                               ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:65:20: error: 'glyphPath' was not declared in this scope
             return glyphPath;
                    ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h: In member function 'SkSpan<const SkGlyph*> SkStrikeCache::Strike::metrics(SkSpan<const short unsigned int>, const SkGlyph**)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:83:18: error: expected unqualified-id before '[' token
             auto [glyphs, increase] = fScalerCache.metrics(glyphIDs, results);
                  ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:84:31: error: 'increase' was not declared in this scope
             this->updateDelta(increase);
                               ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:85:20: error: 'glyphs' was not declared in this scope
             return glyphs;
                    ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h: In member function 'SkSpan<const SkGlyph*> SkStrikeCache::Strike::preparePaths(SkSpan<const short unsigned int>, const SkGlyph**)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:90:18: error: expected unqualified-id before '[' token
             auto [glyphs, increase] = fScalerCache.preparePaths(glyphIDs, results);
                  ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:91:31: error: 'increase' was not declared in this scope
             this->updateDelta(increase);
                               ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:92:20: error: 'glyphs'was not declared in this scope
             return glyphs;
                    ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h: In member function 'SkSpan<const SkGlyph*> SkStrikeCache::Strike::prepareImages(SkSpan<const SkPackedGlyphID>, const SkGlyph**)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:97:18: error: expected unqualified-id before '[' token
             auto [glyphs, increase] = fScalerCache.prepareImages(glyphIDs, results);
                  ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:98:31: error: 'increase' was not declared in this scope
             this->updateDelta(increase);
                               ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeCache.h:99:20: error: 'glyphs' was not declared in this scope
             return glyphs;
                    ^
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrPipeline.h:16:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/ops/GrDrawOp.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrDrawOpAtlas.h:20,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/text/GrStrikeCache.h:15,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:17:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrProcessorSet.h: At global scope:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrProcessorSet.h:124:55: error: expected ',' before ')' token
     static_assert(sizeof(Analysis) <= sizeof(uint32_t));
                                                       ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrProcessorSet.h:124:55: error: expected string-literal before ')' token
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrPipeline.h:19:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/ops/GrDrawOp.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrDrawOpAtlas.h:20,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/text/GrStrikeCache.h:15,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkStrikeSpec.cpp:17:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrUserStencilSettings.h:217:91: error: expected ',' before ')' token
                   (PassOp <= kLastUserOnlyStencilOp) == (FailOp <= kLastUserOnlyStencilOp));

                                                                                           ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrUserStencilSettings.h:217:91: error: expected string-literal before ')' token
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrUserStencilSettings.h:220:91: error: expected ',' before ')' token
                   (PassOp <= kLastClipOnlyStencilOp) == (FailOp <= kLastClipOnlyStencilOp));
                                                                                           ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrUserStencilSettings.h:220:91: error: expected string-literal before ')' token
[35/993] Building CXX object 3rdparty/skia/CM...ir/src/core/SkSurfaceCharacterization.cpp.obj
FAILED: 3rdparty/skia/CMakeFiles/skia.dir/src/core/SkSurfaceCharacterization.cpp.obj
C:\Strawberry\c\bin\c++.exe  -DNOMINMAX -DSKIA_IMPLEMENTATION=1 -DSK_HAS_PNG_LIBRARY -DWIN32_LEAN_AND_MEAN -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/libpng -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/zlib -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/libexpat -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/giflib -IF:/tmp-source/qt-hmi/skia/skui/3rdparty/libjpeg-turbo -isystem F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/third_party/skcms -isystem F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/. -pedantic-errors -Wextra -Wconversion -Winit-self -Wmissing-include-dirs -Wstrict-aliasing -Werror  -ffunction-sections -fdata-sections   -Wno-conversion -Wno-pedantic -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Wno-deprecated-declarations -Wno-narrowing -Wno-maybe-uninitialized -std=c++14 -MD -MT 3rdparty/skia/CMakeFiles/skia.dir/src/core/SkSurfaceCharacterization.cpp.obj -MF 3rdparty\skia\CMakeFiles\skia.dir\src\core\SkSurfaceCharacterization.cpp.obj.d -o 3rdparty/skia/CMakeFiles/skia.dir/src/core/SkSurfaceCharacterization.cpp.obj -c F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkSurfaceCharacterization.cpp
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/gpu/mock/GrMockTypes.h:12:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/gpu/GrBackendSurface.h:13,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/core/SkSurfaceCharacterization.h:20,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkSurfaceCharacterization.cpp:8:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr size_t GrAlignTo(size_t, size_t)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:45:1: error: body of constexpr function 'constexpr size_t GrAlignTo(size_t, size_t)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr bool GrAATypeIsHW(GrAAType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:235:1: error: body of constexpr function 'constexpr bool GrAATypeIsHW(GrAAType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr bool GrSLTypeIsFloatType(GrSLType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:416:1: error: body of constexpr function 'constexpr bool GrSLTypeIsFloatType(GrSLType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr int GrSLTypeVecLength(GrSLType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:475:1: error: body of constexpr function 'constexpr int GrSLTypeVecLength(GrSLType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr bool GrSLTypeIsCombinedSamplerType(GrSLType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:556:1: error: body of constexpr function 'constexpr bool GrSLTypeIsCombinedSamplerType(GrSLType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr SkColorType GrColorTypeToSkColorType(GrColorType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:844:1: error: body of constexpr function 'constexpr SkColorType GrColorTypeToSkColorType(GrColorType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr GrColorType SkColorTypeToGrColorType(SkColorType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:871:1: error: body of constexpr function 'constexpr GrColorType SkColorTypeToGrColorType(SkColorType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr uint32_t GrColorTypeChannelFlags(GrColorType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:910:1: error: body of constexpr function 'constexpr uint32_t GrColorTypeChannelFlags(GrColorType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In member function 'constexpr int GrColorTypeDesc::operator[](int) const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:977:5: error: body of constexpr function 'constexpr int GrColorTypeDesc::operator[](int) const' not a return-statement
     }
     ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In constructor 'constexpr GrColorTypeDesc::GrColorTypeDesc(int, int, int, int, int, GrColorTypeEncoding)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:998:5: error: constexpr constructor does not have empty body
     }
     ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr GrColorTypeDesc GrGetColorTypeDesc(GrColorType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:1059:1: error: body of constexpr function 'constexpr GrColorTypeDesc GrGetColorTypeDesc(GrColorType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr GrClampType GrColorTypeClampType(GrColorType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:1067:1: error: body of constexpr function 'constexpr GrClampType GrColorTypeClampType(GrColorType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr bool GrColorTypeIsWiderThan(GrColorType, int)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:1079:1: error: body of constexpr function 'constexpr bool GrColorTypeIsWiderThan(GrColorType, int)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr size_t GrColorTypeBytesPerPixel(GrColorType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:1120:1: error: body of constexpr function 'constexpr size_t GrColorTypeBytesPerPixel(GrColorType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr SkColorType GrCompressionTypeToSkColorType(SkImage::CompressionType)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:1133:1: error: body of constexpr function 'constexpr SkColorType GrCompressionTypeToSkColorType(SkImage::CompressionType)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h: In function 'constexpr GrColorType GrMaskFormatToColorType(GrMaskFormat)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/include/private/GrTypesPriv.h:1145:1: error: body of constexpr function 'constexpr GrColorType GrMaskFormatToColorType(GrMaskFormat)' not a return-statement
 }
 ^
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrCaps.h:17:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkSurfaceCharacterization.cpp:11:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h: At global scope:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:40:31: error: defaulted declaration 'constexpr GrSamplerState& GrSamplerState::operator=(const GrSamplerState&) const'
     constexpr GrSamplerState& operator=(const GrSamplerState&) = default;
                               ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:40:31: error: does not match expected signature 'GrSamplerState& GrSamplerState::operator=(const GrSamplerState&)'
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:40:31: error: explicitly defaulted function 'constexpr GrSamplerState& GrSamplerState::operator=(const GrSamplerState&) const' cannot be declared as constexpr because the implicit declaration is not constexpr:

F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h: In member function 'constexpr void GrSamplerState::setFilterMode(GrSamplerState::Filter) const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:44:63: error: assignment of member 'GrSamplerState::fFilter' in read-only object
     constexpr void setFilterMode(Filter filterMode) { fFilter = filterMode; }
                                                               ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:44:20: error: invalid return type 'void' of constexpr function 'constexpr void GrSamplerState::setFilterMode(GrSamplerState::Filter) const'
     constexpr void setFilterMode(Filter filterMode) { fFilter = filterMode; }
                    ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h: In member function 'constexpr void GrSamplerState::setWrapModeX(GrSamplerState::WrapMode) const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:46:70: error: assignment of read-only location '((const GrSamplerState*)this)->GrSamplerState::fWrapModes[0]'
     constexpr void setWrapModeX(const WrapMode wrap) { fWrapModes[0] = wrap; }
                                                                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:46:20: error: invalid return type 'void' of constexpr function 'constexpr void GrSamplerState::setWrapModeX(GrSamplerState::WrapMode) const'
     constexpr void setWrapModeX(const WrapMode wrap) { fWrapModes[0] = wrap; }
                    ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h: In member function 'constexpr void GrSamplerState::setWrapModeY(GrSamplerState::WrapMode) const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:47:70: error: assignment of read-only location '((const GrSamplerState*)this)->GrSamplerState::fWrapModes[1]'
     constexpr void setWrapModeY(const WrapMode wrap) { fWrapModes[1] = wrap; }
                                                                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:47:20: error: invalid return type 'void' of constexpr function 'constexpr void GrSamplerState::setWrapModeY(GrSamplerState::WrapMode) const'
     constexpr void setWrapModeY(const WrapMode wrap) { fWrapModes[1] = wrap; }
                    ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h: In static member function 'static constexpr uint8_t GrSamplerState::GenerateKey(GrSamplerState)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSamplerState.h:78:5: error: body of constexpr function 'static constexpr uint8_t GrSamplerState::GenerateKey(GrSamplerState)' not a return-statement
     }
     ^
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrShaderCaps.h:13:0,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrCaps.h:18,
                 from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkSurfaceCharacterization.cpp:11:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h: In member function 'constexpr char GrSwizzle::operator[](int) const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:41:5: error: body of constexpr function 'constexpr char GrSwizzle::operator[](int) const' not a return-statement
     }
     ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h: In member function 'constexpr GrSwizzle& GrSwizzle::operator=(const GrSwizzle&) const':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:74:10: error: assignment of member 'GrSwizzle::fKey' in read-only object
     fKey = that.fKey;
          ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:75:13: error: invalid initialization of reference of type 'GrSwizzle&' from expression of type 'const GrSwizzle'
     return *this;
             ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:76:1: error: body of constexpr function 'constexpr GrSwizzle& GrSwizzle::operator=(const GrSwizzle&) const' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h: In static member function 'static constexpr int GrSwizzle::CToI(char)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:121:1: error: body of constexpr function 'static constexpr int GrSwizzle::CToI(char)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h: In static member function 'static constexpr char GrSwizzle::IToC(int)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:125:22: error: 'static constexpr int GrSwizzle::CToI(char)' called in a constant expression
         case CToI('r'): return 'r';
                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:126:22: error: 'static constexpr int GrSwizzle::CToI(char)' called in a constant expression
         case CToI('g'): return 'g';
                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:127:22: error: 'static constexpr int GrSwizzle::CToI(char)' called in a constant expression
         case CToI('b'): return 'b';
                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:128:22: error: 'static constexpr int GrSwizzle::CToI(char)' called in a constant expression
         case CToI('a'): return 'a';
                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:129:22: error: 'static constexpr int GrSwizzle::CToI(char)' called in a constant expression
         case CToI('0'): return '0';
                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:130:22: error: 'static constexpr int GrSwizzle::CToI(char)' called in a constant expression
         case CToI('1'): return '1';
                      ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:133:1: error: body of constexpr function 'static constexpr char GrSwizzle::IToC(int)' not a return-statement
 }
 ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h: In static member function 'static constexpr GrSwizzle GrSwizzle::Concat(const GrSwizzle&, const GrSwizzle&)':
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrSwizzle.h:147:1: error: body of constexpr function 'static constexpr GrSwizzle GrSwizzle::Concat(const GrSwizzle&, const GrSwizzle&)' not a return-statement
 }
 ^
In file included from F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/core/SkSurfaceCharacterization.cpp:11:0:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrCaps.h: At global scope:
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrCaps.h:515:45: error: expected ',' before ')' token
     static_assert(kLast_GrBlendEquation < 32);
                                             ^
F:/tmp-source/qt-hmi/skia/skui/3rdparty/skia/src/gpu/GrCaps.h:515:45: error: expected string-literal before ')' token
ninja: build stopped: subcommand failed.

Please help me, where is the problem?

@rubenvb
Copy link
Contributor

rubenvb commented May 5, 2020

You're using Strawberry Perl's GCC, which is version 4.9.2, which is very old and will not compile SkUI code.
Also very strange that the -std=c++14 isn't giving any issues, and it starts complaining about C99 in a C++ source file.

To generate Visual Studio project files, either use CMake's official installer (which should default to Visual Studio if it can find it) or pass e.g.

-G"Visual Studio 15 2017 Win64"

I don't think you can readily use Ninja with a VS build, although their own CMake integration (in the IDE) does use Ninja under the hood. You might also try just opening the CMakeLists.txt from the IDE and load the project form there.

@libaineu2004
Copy link
Author

Visual Studio 15 2017 Win64

Ok, I have successfully compiled using Visual Studio 15 2017 Win64. But running the examples / widget_gallery / Debug / widget_gallery.exe will report an exception.
The call stack for this example is as follows:

widget_gallery.exe! sk_abort_no_print () line 39 C ++
widget_gallery.exe! skui :: graphics :: skia_gl_context :: {ctor} :: __ l2 :: () line 52 C ++
widget_gallery.exe! skui :: graphics :: skia_gl_context :: skia_gl_context (void () () () (void *, const char *) get_function) line 52 C ++
widget_gallery.exe! skui :: gui :: window :: create_graphics_context_and_execute_render_loop (std :: atomic & initialized) line 198 C ++
widget_gallery.exe! main line 122 C ++

How can this problem be solved?

@libaineu2004
Copy link
Author

libaineu2004 commented May 5, 2020

By the way, I execute the skui test program like this:

F:\tmp-source\qt-hmi\skia\skui-build>ctest
Test project F:/tmp-source/qt-hmi/skia/skui-build
      Start  1: core/application
 1/65 Test  #1: core/application .....................   Passed    1.74 sec
      Start  2: run/core/application
Test not available without configuration.  (Missing "-C <config>"?)
 2/65 Test  #2: run/core/application .................***Not Run   0.00 sec
      Start  3: core/bitflag
 3/65 Test  #3: core/bitflag .........................   Passed    1.69 sec
      Start  4: core/bounded_property
 4/65 Test  #4: core/bounded_property ................   Passed    1.73 sec
      Start  5: core/command
 5/65 Test  #5: core/command .........................   Passed    1.67 sec
      Start  6: core/command_queue
 6/65 Test  #6: core/command_queue ...................   Passed    1.94 sec
      Start  7: core/event_loop
 7/65 Test  #7: core/event_loop ......................   Passed    1.85 sec
      Start  8: core/library_lib
 8/65 Test  #8: core/library_lib .....................   Passed    1.69 sec
      Start  9: core/library
 9/65 Test  #9: core/library .........................   Passed    1.68 sec
      Start 10: core/property
10/65 Test #10: core/property ........................   Passed    2.24 sec
      Start 11: core/proxy_map
11/65 Test #11: core/proxy_map .......................   Passed    2.03 sec
      Start 12: core/proxy_property
12/65 Test #12: core/proxy_property ..................   Passed    1.69 sec
      Start 13: core/signal
13/65 Test #13: core/signal ..........................   Passed    1.86 sec
      Start 14: core/slot
14/65 Test #14: core/slot ............................   Passed    1.68 sec
      Start 15: core/trackable
15/65 Test #15: core/trackable .......................   Passed    1.81 sec
      Start 16: core/value_ptr
16/65 Test #16: core/value_ptr .......................   Passed    1.70 sec
      Start 17: core/traits/are_convertible
17/65 Test #17: core/traits/are_convertible ..........   Passed    1.81 sec
      Start 18: core/traits/are_same
18/65 Test #18: core/traits/are_same .................   Passed    1.64 sec
      Start 19: core/traits/arity
19/65 Test #19: core/traits/arity ....................   Passed    1.64 sec
      Start 20: core/traits/number_of_bits
20/65 Test #20: core/traits/number_of_bits ...........   Passed    1.87 sec
      Start 21: core/utility
21/65 Test #21: core/utility .........................   Passed    1.68 sec
      Start 22: core/utility/bound
22/65 Test #22: core/utility/bound ...................   Passed    1.92 sec
      Start 23: core/utility/norm
23/65 Test #23: core/utility/norm ....................   Passed    1.70 sec
      Start 24: core/utility/approximate_equal_to
24/65 Test #24: core/utility/approximate_equal_to ....   Passed    1.93 sec
      Start 25: css/color
25/65 Test #25: css/color ............................   Passed    2.84 sec
      Start 26: css/grammar/align_content
26/65 Test #26: css/grammar/align_content ............   Passed    3.47 sec
      Start 27: css/grammar/align_items
27/65 Test #27: css/grammar/align_items ..............   Passed    2.06 sec
      Start 28: css/grammar/align_self
28/65 Test #28: css/grammar/align_self ...............   Passed    1.98 sec
      Start 29: css/grammar/angle
29/65 Test #29: css/grammar/angle ....................   Passed    1.99 sec
      Start 30: css/grammar/animation
30/65 Test #30: css/grammar/animation ................   Passed    2.21 sec
      Start 31: css/grammar/background
31/65 Test #31: css/grammar/background ...............   Passed    2.17 sec
      Start 32: css/grammar/box_decoration_break
32/65 Test #32: css/grammar/box_decoration_break .....   Passed    2.03 sec
      Start 33: css/grammar/box_shadow
33/65 Test #33: css/grammar/box_shadow ...............   Passed    2.00 sec
      Start 34: css/grammar/box_sizing
34/65 Test #34: css/grammar/box_sizing ...............   Passed    2.01 sec
      Start 35: css/grammar/caption_side
35/65 Test #35: css/grammar/caption_side .............   Passed    2.10 sec
      Start 36: css/grammar/clear
36/65 Test #36: css/grammar/clear ....................   Passed    2.01 sec
      Start 37: css/grammar/color
37/65 Test #37: css/grammar/color ....................   Passed    2.02 sec
      Start 38: css/grammar/color_stop
38/65 Test #38: css/grammar/color_stop ...............   Passed    2.21 sec
      Start 39: css/grammar/conic_gradient
39/65 Test #39: css/grammar/conic_gradient ...........   Passed    2.16 sec
      Start 40: css/grammar/length
40/65 Test #40: css/grammar/length ...................   Passed    2.26 sec
      Start 41: css/grammar/linear_gradient
41/65 Test #41: css/grammar/linear_gradient ..........   Passed    2.21 sec
      Start 42: css/grammar/numeric
42/65 Test #42: css/grammar/numeric ..................   Passed    2.17 sec
      Start 43: css/grammar/position
43/65 Test #43: css/grammar/position .................   Passed    2.14 sec
      Start 44: css/grammar/property_symbols_table
44/65 Test #44: css/grammar/property_symbols_table ...   Passed    2.16 sec
      Start 45: css/grammar/quoted_string
45/65 Test #45: css/grammar/quoted_string ............   Passed    2.00 sec
      Start 46: css/grammar/radial_gradient
46/65 Test #46: css/grammar/radial_gradient ..........   Passed    2.17 sec
      Start 47: css/grammar/repeating
47/65 Test #47: css/grammar/repeating ................   Passed    1.97 sec
      Start 48: css/grammar/semantic_checks
48/65 Test #48: css/grammar/semantic_checks ..........   Passed    1.95 sec
      Start 49: css/grammar/semantic_factory
49/65 Test #49: css/grammar/semantic_factory .........   Passed    2.02 sec
      Start 50: css/grammar/semantic_math
50/65 Test #50: css/grammar/semantic_math ............   Passed    2.11 sec
      Start 51: css/grammar/semantic/convert_to
51/65 Test #51: css/grammar/semantic/convert_to ......   Passed    2.26 sec
      Start 52: css/grammar/semantic/repeat_value
52/65 Test #52: css/grammar/semantic/repeat_value ....   Passed    1.99 sec
      Start 53: css/grammar/semantic/reset_value
53/65 Test #53: css/grammar/semantic/reset_value .....   Passed    2.35 sec
      Start 54: css/grammar/time
54/65 Test #54: css/grammar/time .....................   Passed    2.31 sec
      Start 55: css/grammar/timing_function
55/65 Test #55: css/grammar/timing_function ..........   Passed    2.11 sec
      Start 56: css/grammar/url
56/65 Test #56: css/grammar/url ......................   Passed    2.06 sec
      Start 57: css/grammar
57/65 Test #57: css/grammar ..........................   Passed    2.40 sec
      Start 58: graphics/color
58/65 Test #58: graphics/color .......................   Passed    3.78 sec
      Start 59: graphics/position
59/65 Test #59: graphics/position ....................   Passed    4.05 sec
      Start 60: graphics/size
60/65 Test #60: graphics/size ........................   Passed    4.14 sec
      Start 61: graphics/swizzle
61/65 Test #61: graphics/swizzle .....................   Passed    4.06 sec
      Start 62: gui/layout
62/65 Test #62: gui/layout ...........................   Passed    4.12 sec
      Start 63: gui/layout/column
63/65 Test #63: gui/layout/column ....................   Passed    4.23 sec
      Start 64: gui/layout/row
64/65 Test #64: gui/layout/row .......................   Passed    4.10 sec
      Start 65: system/environment
65/65 Test #65: system/environment ...................   Passed    1.84 sec

98% tests passed, 1 tests failed out of 65

Total Test time (real) = 143.65 sec

The following tests FAILED:
          2 - run/core/application (Not Run)
Errors while running CTest

@rubenvb
Copy link
Contributor

rubenvb commented May 5, 2020

You seem to be running into the same issue as #11.
The failing test can be solved by passing a configuration, e.g. -C Debug, to ctest. This is necessary for XCode and Visual Studio project file builds as multiple configurations can be built from the same project description (in contrast to Ninja/Make/...).

If you want to play around with the code as is, you can change gui/window_windows.c++:L29 to this:

const window_flags window::default_flags = window_flag::exit_on_close | window_flag::anti_alias;

(so remove the | window_flag::opengl bit at the end)

If you feel comfortable debugging the issue, please do so, as I can't seem to reproduce it locally and it seems my attempt to fix this failed to fix this. If you find anything, please write your findings on issue #11.

@rubenvb rubenvb closed this as completed May 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants