Bug#1008391: qtbase5-dev: Build failures with GCC 11 when including qtconcurrentthreadengine.h
Package: qtbase5-dev
Version: 5.15.2+dfsg-15
Severity: normal
Tags: patch
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Hi, when compiling a program that makes use of the qtconcurrentthreadengine.h
header with GCC 11 compilation failures occur. This issue has been already
reported and fixed upstream, but it will take a lot of time before the fix
lands in a point release of the open source Qt version. You can find the bug
report here: https://codereview.qt-project.org/c/qt/qtbase/+/339417
It's a two line patch, and should be trivial to apply.
I've encountered this issue when building yuzu, a package I'm working on.
Thanks :)
- -- System Information:
Debian Release: bookworm/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 5.16.0-5-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=it_IT.UTF-8, LC_CTYPE=it_IT.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages qtbase5-dev depends on:
pn libegl-dev <none>
pn libgl-dev <none>
pn libglu1-mesa-dev | libglu-dev <none>
pn libqt5concurrent5 <none>
ii libqt5core5a 5.15.2+dfsg-15
ii libqt5dbus5 5.15.2+dfsg-15
ii libqt5gui5 5.15.2+dfsg-15
ii libqt5network5 5.15.2+dfsg-15
ii libqt5printsupport5 5.15.2+dfsg-15
ii libqt5sql5 5.15.2+dfsg-15
pn libqt5test5 <none>
ii libqt5widgets5 5.15.2+dfsg-15
ii libqt5xml5 5.15.2+dfsg-15
pn libvulkan-dev <none>
pn libxext-dev <none>
pn qt5-qmake <none>
pn qtbase5-dev-tools <none>
pn qtchooser <none>
Versions of packages qtbase5-dev recommends:
pn libqt5opengl5-dev <none>
Versions of packages qtbase5-dev suggests:
pn default-libmysqlclient-dev <none>
pn firebird-dev <none>
pn libpq-dev <none>
pn libsqlite3-dev <none>
pn unixodbc-dev <none>
-----BEGIN PGP SIGNATURE-----
iIoEARYIADIWIQRm3vFSgpkMIZnvqAGooSioqxzuSQUCYj+DSRQcYW5kcmVhQHBh
cHBhY29kYS5pdAAKCRCooSioqxzuSdX7AQDzE0JywexOYKsCY2ihVOhMnh5FKWbT
GoJYTIQ6HvRRHgEA79+v3Lq7RlgonreT/ECVEkBOLcV07Gxge3J/mTsQdQo=
=2ZRd
-----END PGP SIGNATURE-----
From 659f7a06e91c04b239e3f4c0bcfccbe3581af1c3 Mon Sep 17 00:00:00 2001
From: Sona Kurazyan <sona.kurazyan@qt.io>
Date: Wed, 17 Mar 2021 16:04:00 +0100
Subject: [PATCH] Remove the unnecessary template parameter from the class specialization
This seems to cause errors when compiling with gcc-11. Although this is
most likely a compiler bug, specifiying the template parameter type in
this case isn't necessary.
Fixes: QTBUG-91909
Fixes: QTBUG-90568
Pick-to: 6.0 6.1 5.15
Change-Id: Ib231257ccb2e16cc533f23ca5840d31e26a66d53
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
---
diff --git a/src/concurrent/qtconcurrentthreadengine.h b/src/concurrent/qtconcurrentthreadengine.h
index cbd8ad04..4cd5b85 100644
--- a/src/concurrent/qtconcurrentthreadengine.h
+++ b/src/concurrent/qtconcurrentthreadengine.h
@@ -256,8 +256,8 @@
class ThreadEngineStarter<void> : public ThreadEngineStarterBase<void>
{
public:
- ThreadEngineStarter<void>(ThreadEngine<void> *_threadEngine)
- :ThreadEngineStarterBase<void>(_threadEngine) {}
+ ThreadEngineStarter(ThreadEngine<void> *_threadEngine)
+ : ThreadEngineStarterBase<void>(_threadEngine) {}
void startBlocking()
{
Reply to: