mstorsjo wrote: Thanks for the revert - FWIW, I also ran into issues with this change when building Qt.
Building the https://github.com/qt/qtbase repo fails with an error like this: ``` [790/790] Linking CXX shared library lib/libQt6Gui.so.6.8.0 FAILED: lib/libQt6Gui.so.6.8.0 /usr/bin/ld: src/gui/CMakeFiles/Gui.dir/painting/qpdf.cpp.o: in function `decltype (((std::declval<std::enable_if<((7)>(0)), void>::type>()),(((qHash(std::declval<QByteArray, QByteArray, int, int, int, QList<QFont::Tag>, QList<float> const&>())),...))),unsigned long{}) qHashMulti<QByteArray, QByteArray, int, int, int, QList<QFont::Tag>, QList<float> >(unsigned long, QByteArray const&, QByteArray const&, int const&, int const&, int const&, QList<QFont::Tag> const&, QList<float> const&)': qpdf.cpp:(.text._Z10qHashMultiIJ10QByteArrayS0_iii5QListIN5QFont3TagEES1_IfEEEDTcmcmclsr3stdE7declvalINSt9enable_ifIXgtsPDpT_ELi0EEvE4typeEEEfrcmcl5qHashclsr3stdE7declvalIRKS7_EEEtlmEEmDpSC_[_Z10qHashMultiIJ10QByteArrayS0_iii5QListIN5QFont3TagEES1_IfEEEDTcmcmclsr3stdE7declvalINSt9enable_ifIXgtsPDpT_ELi0EEvE4typeEEEfrcmcl5qHashclsr3stdE7declvalIRKS7_EEEtlmEEmDpSC_]+0x9a): undefined reference to `unsigned long QtPrivate::QHashCombine::operator()<QFont::Tag>(unsigned long, QFont::Tag const&) const' /usr/bin/ld: src/gui/CMakeFiles/Gui.dir/text/qfont.cpp.o: in function `decltype (((std::declval<std::enable_if<((13)>(0)), void>::type>()),(((qHash(std::declval<long long, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, QList<QString>, QString, unsigned int, QList<QFont::Tag>, QList<float> const&>())),...))),unsigned long{}) qHashMulti<long long, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, QList<QString>, QString, unsigned int, QList<QFont::Tag>, QList<float> >(unsigned long, long long const&, unsigned int const&, unsigned int const&, unsigned int const&, unsigned int const&, unsigned int const&, unsigned int const&, unsigned int const&, QList<QString> const&, QString const&, unsigned int const&, QList<QFont::Tag> const&, QList<float> const&)': qfont.cpp:(.text._Z10qHashMultiIJxjjjjjjj5QListI7QStringES1_jS0_IN5QFont3TagEES0_IfEEEDTcmcmclsr3stdE7declvalINSt9enable_ifIXgtsPDpT_ELi0EEvE4typeEEEfrcmcl5qHashclsr3stdE7declvalIRKS8_EEEtlmEEmDpSD_[_Z10qHashMultiIJxjjjjjjj5QListI7QStringES1_jS0_IN5QFont3TagEES0_IfEEEDTcmcmclsr3stdE7declvalINSt9enable_ifIXgtsPDpT_ELi0EEvE4typeEEEfrcmcl5qHashclsr3stdE7declvalIRKS8_EEEtlmEEmDpSD_]+0x13a): undefined reference to `unsigned long QtPrivate::QHashCombine::operator()<QFont::Tag>(unsigned long, QFont::Tag const&) const' clang++: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed. ``` In a build with static libraries, where this didn't cause immediate errors, I also ran into build errors while building qtdeclarative. I didn't bisect that failure, but it seems closely related: ``` qtdeclarative/src/qmlcompiler/qqmljsregistercontent_p.h:250:20: error: no matching function for call to 'qHashMulti' 250 | return qHashMulti( | ^~~~~~~~~~ aarch64-w64-mingw32/include/QtCore/qhashfunctions.h:344:1: note: candidate template ignored: substitution failure [with T = <QQmlJSMetaProperty, int, int>] 344 | qHashMulti(size_t seed, const T &... args) | ^ aarch64-w64-mingw32/include/QtCore/qhashfunctions.h:390:12: error: no matching function for call to 'qHashMulti' 390 | return qHashMulti(seed, key.first, key.second); | ^~~~~~~~~~ qtdeclarative/src/qmlcompiler/qqmljsregistercontent_p.h:157:20: note: in instantiation of function template specialization 'qHash<QQmlJSMetaEnum, QString>' requested here 157 | return qHash(std::get<std::pair<QQmlJSMetaEnum, QString>>(registerContent.m_content), | ^ aarch64-w64-mingw32/include/QtCore/qhashfunctions.h:344:1: note: candidate template ignored: substitution failure [with T = <QQmlJSMetaEnum, QString>] 344 | qHashMulti(size_t seed, const T &... args) | ^ 4 errors generated. ``` Before relanding, I would appreciate if you could try building qtbase with the new version of the suggested change! https://github.com/llvm/llvm-project/pull/113777 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits