diff options
| author | Marc Mutz <marc.mutz@qt.io> | 2024-12-20 20:11:31 +0100 |
|---|---|---|
| committer | Marc Mutz <marc.mutz@qt.io> | 2024-12-22 16:28:41 +0000 |
| commit | 7a7804d4b454021d68d1d5138d134ef62abfcdb3 (patch) | |
| tree | 489fc4d340a1a6c6149a548ea50cd60115751f28 /src/corelib/serialization/qdatastream.cpp | |
| parent | 40501ffbb441ce48733b3733b7ab781c7db8cca8 (diff) | |
QDecompressHelper: fix compilation with GCC 9
GCC 9 doesn't accept [[unlikely]] between the (condition) and the
compound-statement of an if, in both C++17 and C++20 modes:
qdecompresshelper.cpp: In member function ‘qsizetype QDecompressHelper::readZLib(char*, qsizetype)’:
qcompilerdetection.h:1048:31: error: attributes at the beginning of statement are ignored [-Werror=attributes]
1048 | # define Q_UNLIKELY_BRANCH [[unlikely]]
| ^~~~~~~~~~~~
qdecompresshelper.cpp:597:54: note: in expansion of macro ‘Q_UNLIKELY_BRANCH’
597 | if (ret == Z_DATA_ERROR && !triedRawDeflate) Q_UNLIKELY_BRANCH {
| ^~~~~~~~~~~~~~~~~
See also https://stackoverflow.com/questions/51797959/how-to-use-c20s-likely-unlikely-attribute-in-if-else-statement
Put it into the compound-statement instead, then GCC 9 accepts it. The
two are equivalent, because [[likely]] marks a path, and there is no
selection statement between the two positions.
Amends 5ae84d0afbd3690a2c003d06d920566a5d56dc8c.
Pick-to: 6.9
Change-Id: Iac1970219c98a1c26e450dfe6bad6583e4d32c29
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/serialization/qdatastream.cpp')
0 files changed, 0 insertions, 0 deletions
