Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-137278

Compilation error `invalid use of attribute 'fallthrough'` with GCC <= 12 and gperf >= 3.2

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • 6.9.2
    • 6.9.0
    • WebEngine
    • None
    • Linux/X11
    • d234cda91 (130-based), e5b77045e (122-based)
    • Linux/X11

    Description

      When trying to build qt 6.9.0 with GCC 12 or below on Linux (via Homebrew/Linuxbrew), I run into the following compilation errors:

      $ HOMEBREW_NO_INSTALL_FROM_API=1 HOMEBREW_NO_INSTALL_UPGRADE=1 HOMEBREW_NO_AUTO_UPDATE=1 brew install --build-from-source --include-test --verbose --debug --keep-tmp --cc=gcc-12 --formula qt
      ...
      ==> Fetching qt
      ==> Downloading https://files.pythonhosted.org/packages/ac/b6/b55c3f49042f1df3dcd422b7f224f939892ee94f22abcf503a9b7339eaf2/html5lib-1.1.tar.gz
      ...
      ==> Downloading https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz
      ...
      ==> Downloading https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz
      ...
      ==> Downloading https://download.qt.io/official_releases/qt/6.9/6.9.0/single/qt-everywhere-src-6.9.0.tar.xz
      ...
      ==> python3.13 -m pip --python=/var/tmp/qt-20250530-3020-4fg0zt/qt-everywhere-src-6.9.0/venv/bin/python install --verbose --no-deps --no-binary=:all: --ignore-installed --no-compile /var/tmp/qt--html5lib-20250530-3020-v1jh96/html5lib-1.1
      Using pip 25.0.1 from /home/linuxbrew/.linuxbrew/Cellar/python@3.13/3.13.3/lib/python3.13/site-packages/pip (python 3.13)
      Processing /var/tmp/qt--html5lib-20250530-3020-v1jh96/html5lib-1.1
      ...
      ==> python3.13 -m pip --python=/var/tmp/qt-20250530-3020-4fg0zt/qt-everywhere-src-6.9.0/venv/bin/python install --verbose --no-deps --no-binary=:all: --ignore-installed --no-compile /var/tmp/qt--six-20250530-3020-pwv9h4/six-1.17.0
      Using pip 25.0.1 from /home/linuxbrew/.linuxbrew/Cellar/python@3.13/3.13.3/lib/python3.13/site-packages/pip (python 3.13)
      Processing /var/tmp/qt--six-20250530-3020-pwv9h4/six-1.17.0
      ...
      ==> python3.13 -m pip --python=/var/tmp/qt-20250530-3020-4fg0zt/qt-everywhere-src-6.9.0/venv/bin/python install --verbose --no-deps --no-binary=:all: --ignore-installed --no-compile /var/tmp/qt--webencodings-20250530-3020-tdz5z8/webencodings-0.5.1
      Using pip 25.0.1 from /home/linuxbrew/.linuxbrew/Cellar/python@3.13/3.13.3/lib/python3.13/site-packages/pip (python 3.13)
      Processing /var/tmp/qt--webencodings-20250530-3020-tdz5z8/webencodings-0.5.1
      ...
      ==> cmake -S . -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/home/linuxbrew/.linuxbrew -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_FRAMEWORK=FIRST -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/cmake/trap_fetchcontent_provider.cmake -Wno-dev -DBUILD_TESTING=OFF -DCMAKE_STAGING_PREFIX=/home/linuxbrew/.linuxbrew/Cellar/qt/6.9.0 -DINSTALL_ARCHDATADIR=share/qt -DINSTALL_DATADIR=share/qt -DINSTALL_EXAMPLESDIR=share/qt/examples -DINSTALL_MKSPECSDIR=share/qt/mkspecs -DINSTALL_TESTSDIR=share/qt/tests -DFEATURE_sql_mysql=OFF -DFEATURE_sql_odbc=OFF -DFEATURE_sql_psql=OFF -DQT_FEATURE_clang=OFF -DQT_FEATURE_relocatable=OFF -DFEATURE_pkg_config=ON -DQT_FEATURE_system_assimp=ON -DQT_FEATURE_system_doubleconversion=ON -DQT_FEATURE_system_freetype=ON -DQT_FEATURE_system_harfbuzz=ON -DQT_FEATURE_system_hunspell=ON -DQT_FEATURE_system_jpeg=ON -DQT_FEATURE_system_libb2=ON -DQT_FEATURE_system_pcre2=ON -DQT_FEATURE_system_png=ON -DQT_FEATURE_system_sqlite=ON -DQT_FEATURE_system_tiff=ON -DQT_FEATURE_system_webp=ON -DQT_FEATURE_system_zlib=ON -DQT_FEATURE_webengine_proprietary_codecs=ON -DQT_FEATURE_webengine_kerberos=ON -DQT_ALLOW_SYMLINK_IN_PATHS=ON -DQT_FEATURE_xcb=ON -DQT_FEATURE_system_xcb_xinput=ON -DQT_FEATURE_webengine_ozone_x11=ON -DQT_FEATURE_webengine_system_alsa=ON -DQT_FEATURE_webengine_system_ffmpeg=ON -DQT_FEATURE_webengine_system_freetype=ON -DQT_FEATURE_webengine_system_harfbuzz=ON -DQT_FEATURE_webengine_system_icu=ON -DQT_FEATURE_webengine_system_lcms2=ON -DQT_FEATURE_webengine_system_libevent=ON -DQT_FEATURE_webengine_system_libjpeg=ON -DQT_FEATURE_webengine_system_libpng=ON -DQT_FEATURE_webengine_system_libxml=ON -DQT_FEATURE_webengine_system_libwebp=ON -DQT_FEATURE_webengine_system_minizip=ON -DQT_FEATURE_webengine_system_opus=ON -DQT_FEATURE_webengine_system_poppler=ON -DQT_FEATURE_webengine_system_pulseaudio=ON -DQT_FEATURE_webengine_system_snappy=ON -DQT_FEATURE_webengine_system_zlib=ON
      -- The CXX compiler identification is GNU 12.4.0
      -- The C compiler identification is GNU 12.4.0
      -- The ASM compiler identification is GNU
      -- Found assembler: /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/shims/linux/super/gcc-12
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/shims/linux/super/g++-12 - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/shims/linux/super/gcc-12 - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Checking dependencies of submodule 'qtbase'
      ...
      -- Configuring submodule 'qtbase'
      -- [QtBase] CMAKE_BUILD_TYPE was already explicitly set to: 'Release'
      ...
      ==> cmake --build build
      Change Dir: '/var/tmp/qt-20250530-3020-4fg0zt/qt-everywhere-src-6.9.0/build'
      
      Run Build Command(s): /home/linuxbrew/.linuxbrew/bin/ninja -v
      [1/12744] cd /var/tmp/qt-20250530-3020-4fg0zt/qt-everywhere-src-6.9.0/build/qtbase && /home/linuxbrew/.linuxbrew/opt/cmake/bin/cmake -DIN_FILE=/var/tmp/qt-20250530-3020-4fg0zt/qt-everywhere-src-6.9.0/build/qtbase/lib/pkgconfig/preliminary_pc_for_Qt6Platform_Release_step2.pc -DOUT_FILE=/var/tmp/qt-20250530-3020-4fg0zt/qt-everywhere-src-6.9.0/build/qtbase/lib/pkgconfig/Qt6Platform.pc -P /var/tmp/qt-20250530-3020-4fg0zt/qt-everywhere-src-6.9.0/qtbase/cmake/QtFinishPkgConfigFile.cmake
      ...
      [14632/22405] CXX obj/third_party/blink/renderer/platform/platform/platform_jumbo_74.o
      FAILED: obj/third_party/blink/renderer/platform/platform/platform_jumbo_74.o
      /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/shims/linux/super/g++-12 -MD -MF obj/third_party/blink/renderer/platform/platform/platform_jumbo_74.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -D_GLIBCXX_ASSERTIONS=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DBLINK_IMPLEMENTATION=1 -DINSIDE_BLINK -DBLINK_PLATFORM_IMPLEMENTATION=1 -DSK_ENABLE_SKSL -DSK_UNTIL_CRBUG_1187654_IS_FIXED -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_WIN_FONTMGR_NO_SIMULATIONS -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_DISABLE_LEGACY_BACKEND_TEXTURE_FUNCS -DSK_DISABLE_LEGACY_TEXTURE_INFO_FUNCS -DSK_DISABLE_LEGACY_BACKEND_SEMAPHORE_FUNCS -DSK_DISABLE_LEGACY_GRAPHITE_IMAGES -DSK_DISABLE_LEGACY_DAWN_TEXTURE_INFO_FUNCS -DSK_DISABLE_LEGACY_DAWN_BACKEND_TEXTURE_FUNCS -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_GANESH -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DSK_GL -DSK_VULKAN=1 -DSK_GRAPHITE -DVK_USE_PLATFORM_XCB_KHR -DCHROMIUM -DLIBYUV_DISABLE_NEON -DLIBYUV_DISABLE_SVE -DLIBYUV_DISABLE_SME -DLIBYUV_DISABLE_LSX -DLIBYUV_DISABLE_LASX -DWTF_USE_WEBAUDIO_PFFFT=1 -DUSING_SYSTEM_ICU=1 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DGOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -DHAVE_PTHREAD -DV8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT=0 -DV8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT=0 -DV8_PROMISE_INTERNAL_FIELD_COUNT=0 -DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE -DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_ENABLE_SANDBOX -DV8_DEPRECATION_WARNINGS -DV8_USE_PERFETTO -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DCPPGC_CAGED_HEAP -DCPPGC_YOUNG_GENERATION -DCPPGC_POINTER_COMPRESSION -DCPPGC_ENABLE_LARGER_CAGE -DCPPGC_SLIM_WRITE_BARRIER -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DABSL_ALLOCATOR_NOTHROW=1 -DWEBRTC_USE_X11 -DLOGGING_INSIDE_WEBRTC -DLEVELDB_PLATFORM_CHROMIUM=1 -DCRASHPAD_ZLIB_SOURCE_EXTERNAL -DUSE_SYSTEM_ZLIB=1 -DUSE_SYSTEM_LIBJPEG -DLIBGAV1_MAX_BITDEPTH=10 -DLIBGAV1_THREADPOOL_USE_STD_MUTEX -DLIBGAV1_ENABLE_LOGGING=0 -DLIBGAV1_PUBLIC= -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/pffft/src -I. -Igen -I../../../../../../qtwebengine/src/3rdparty/chromium -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/skia -Igen/third_party/skia -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/wuffs/src/release/c -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/vulkan/include -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/vulkan-headers/src/include -I../../../../../../qtwebengine/src/3rdparty/chromium/net/third_party/quiche/overrides -I../../../../../../qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/common/platform/default -I../../../../../../qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src -Igen/third_party/dawn/include -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/dawn/include -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/khronos -I../../../../../../qtwebengine/src/3rdparty/chromium/gpu -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/libyuv/include -I../../../../../../qtwebengine/src/3rdparty/chromium/base/allocator/partition_allocator/src -Igen/base/allocator/partition_allocator/src -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/boringssl/src/include -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/ipcz/include -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/ced/src -Igen/net/third_party/quiche/src -I../../../../../../qtwebengine/src/3rdparty/chromium/v8/include -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/webrtc_overrides -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/webrtc -Igen/third_party/webrtc -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/libwebm/source -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/angle/include -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/mesa_headers -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/leveldatabase -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/leveldatabase/src -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/leveldatabase/src/include -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/linux -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/non_win -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/libaom/source/libaom -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/libaom/source/config/linux/x64 -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/ots/src/include -Igen/v8/include -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/fp16/src/include -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/emoji-segmenter/src -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/libgav1/src -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src -I../../../../../../qtwebengine/src/3rdparty/chromium/third_party/one_euro_filter/src -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-misleading-indentation -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -fno-ident -fno-strict-aliasing -fstack-protector -Wno-unknown-pragmas -Wno-address -Wno-parentheses -Wno-sign-compare -Wno-stringop-overflow -Wno-stringop-overread -Wno-psabi -Wno-multichar -Wno-format-zero-length -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -msse3 -fno-omit-frame-pointer -fvisibility=hidden -Wno-unused-variable -O2 -fdata-sections -ffunction-sections -fno-math-errno -g0 -isystem/home/linuxbrew/.linuxbrew/Cellar/icu4c@77/77.1/include -isystem/home/linuxbrew/.linuxbrew/Cellar/icu4c@77/77.1/include -isystem/home/linuxbrew/.linuxbrew/Cellar/nss/3.111/include/nss -isystem/home/linuxbrew/.linuxbrew/Cellar/nspr/4.36/include/nspr -isystem/home/linuxbrew/.linuxbrew/opt/jpeg-turbo/include -isystem/home/linuxbrew/.linuxbrew/opt/libpng/include/libpng16 -isystem/home/linuxbrew/.linuxbrew/opt/zlib/include -isystem/home/linuxbrew/.linuxbrew/opt/webp/include -isystem/home/linuxbrew/.linuxbrew/opt/webp/include/webp -isystem/home/linuxbrew/.linuxbrew/opt/freetype/include/freetype2 -isystem/home/linuxbrew/.linuxbrew/opt/bzip2/include -isystem/home/linuxbrew/.linuxbrew/opt/libpng/include/libpng16 -isystem/home/linuxbrew/.linuxbrew/opt/zlib/include -isystem/home/linuxbrew/.linuxbrew/Cellar/harfbuzz/11.2.1/include/harfbuzz -isystem/home/linuxbrew/.linuxbrew/opt/freetype/include/freetype2 -isystem/home/linuxbrew/.linuxbrew/opt/bzip2/include -isystem/home/linuxbrew/.linuxbrew/opt/libpng/include/libpng16 -isystem/home/linuxbrew/.linuxbrew/opt/zlib/include -isystem/home/linuxbrew/.linuxbrew/Cellar/glib/2.84.1/include/glib-2.0 -isystem/home/linuxbrew/.linuxbrew/Cellar/glib/2.84.1/lib/glib-2.0/include -isystem/home/linuxbrew/.linuxbrew/Cellar/pcre2/10.45/include -isystem/home/linuxbrew/.linuxbrew/Cellar/graphite2/1.3.14/include -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -Wno-invalid-offsetof -Wno-deprecated-copy -Wno-expansion-to-defined -std=gnu++20 -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c gen/third_party/blink/renderer/platform/platform_jumbo_74.cc -o obj/third_party/blink/renderer/platform/platform/platform_jumbo_74.o
      In file included from gen/third_party/blink/renderer/platform/platform_jumbo_74.cc:8:
      ./gen/third_party/blink/renderer/platform/color_data.cc: In static member function 'static unsigned int blink::ColorDataHash::colordata_hash_function(const char*, size_t)':
      ./gen/third_party/blink/renderer/platform/color_data.cc:102:24: error: invalid use of attribute 'fallthrough'
        102 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:110:24: error: invalid use of attribute 'fallthrough'
        110 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:118:24: error: invalid use of attribute 'fallthrough'
        118 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:126:24: error: invalid use of attribute 'fallthrough'
        126 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:134:24: error: invalid use of attribute 'fallthrough'
        134 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:142:24: error: invalid use of attribute 'fallthrough'
        142 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:150:24: error: invalid use of attribute 'fallthrough'
        150 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:158:24: error: invalid use of attribute 'fallthrough'
        158 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:166:24: error: invalid use of attribute 'fallthrough'
        166 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:174:24: error: invalid use of attribute 'fallthrough'
        174 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:182:24: error: invalid use of attribute 'fallthrough'
        182 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:190:24: error: invalid use of attribute 'fallthrough'
        190 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:198:24: error: invalid use of attribute 'fallthrough'
        198 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:206:24: error: invalid use of attribute 'fallthrough'
        206 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:214:24: error: invalid use of attribute 'fallthrough'
        214 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:222:24: error: invalid use of attribute 'fallthrough'
        222 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:230:24: error: invalid use of attribute 'fallthrough'
        230 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:238:24: error: invalid use of attribute 'fallthrough'
        238 |         [[fallthrough]];
            |                        ^
      ./gen/third_party/blink/renderer/platform/color_data.cc:246:24: error: invalid use of attribute 'fallthrough'
        246 |         [[fallthrough]];
            |                        ^
      ...
      

      Initially observed with GCC 11.4.0 during homebrew CI build (https://github.com/Homebrew/homebrew-core/pull/223426). Subsequently reproduced locally with GCC 12.4.0 (and confirmed this does NOT occur with GCC 14.2.0).

      I believe this is related to gperf issue https://savannah.gnu.org/bugs/index.php?53029 and the corresponding workaround in chromium https://github.com/chromium/chromium/commit/26af1d326eec9759c01552d85b3f60927c7d8135#diff-4bf3cd12cc68822396a751d40c01eb991cccf47073f6e6131bd94bf18396f60fR37-R40

      When the gperf issue was resolved in gperf 3.2, this workaround leaves us with invalid generated code:

      $ cat /var/tmp/qt-20250529-75463-h91qn4/qt-everywhere-src-6.9.0/build/qtwebengine/src/core/Release/x86_64/gen/third_party/blink/renderer/platform/color_data.cc
      // Generated by third_party/blink/renderer/build/scripts/gperf.py
      /* C++ code produced by gperf version 3.3 */
      /* Command-line: gperf --key-positions='*' -D -s 2  */
      ...
      inline unsigned int
      ColorDataHash::colordata_hash_function (const char *str, size_t len)
      {
        ...
        unsigned int hval = len;
      
        switch (hval)
          {
            default:
              hval += asso_values[static_cast<unsigned char>(str[19])];
      #if (defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang__ && __clang_major__ + (__clang_minor__ >= 9) > 3))) || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 202000L && ((defined __GNUC__ && __GNUC__ >= 10) || (defined __clang__ && __clang_major__ >= 9)))
            [[fallthrough]];
      #elif (defined __GNUC__ && __GNUC__ >= 7) || (defined __clang__ && __clang_major__ >= 10)
            __attribute__ ((__fallthrough__));
      #endif
              [[fallthrough]];
            ...
          }
        return hval;
      }
      ...
      

      I believe the fix is to backport this change from chromium 137.0.7126.0 to qtwebengine-chromium: https://github.com/chromium/chromium/commit/f8f21fb4aa01f75acbb12abf5ea8c263c6817141

      Attachments

        For Gerrit Dashboard: QTBUG-137278
        # Subject Branch Project Status CR V

        Activity

          People

            moheim Moss Heim
            samumbach Sam Umbach
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes