mstorsjo wrote: This change broke building Qt.
A small standalone reproducer: https://martin.st/temp/qtgui-preproc2.cpp To inspect: ``` $ clang -target armv7-w64-mingw32 -w -c qtgui-preproc2.cpp -o out.o -std=gnu++17 $ llvm-nm out.o | grep _ZN19QWindowSystemHelperIN22QWindowSystemInterface20AsynchronousDeliveryEE11handleEventIN29QWindowSystemInterfacePrivate10LeaveEventEJP7QWindowEEEbDpT0_ U _ZN19QWindowSystemHelperIN22QWindowSystemInterface20AsynchronousDeliveryEE11handleEventIN29QWindowSystemInterfacePrivate10LeaveEventEJP7QWindowEEEbDpT0_ ``` This symbol is undefined, and linking later fails as this is undefined (but this object file should define it). With Clang from before this commit, we get this result instead: ``` $ llvm-nm out.o | grep _ZN19QWindowSystemHelperIN22QWindowSystemInterface20AsynchronousDeliveryEE11handleEventIN29QWindowSystemInterfacePrivate10LeaveEventEJP7QWindowEEEbDpT0_ 00000000 T _ZN19QWindowSystemHelperIN22QWindowSystemInterface20AsynchronousDeliveryEE11handleEventIN29QWindowSystemInterfacePrivate10LeaveEventEJP7QWindowEEEbDpT0_ ``` A fullblown reproducer on Linux is also this: ``` $ git clone https://github.com/qt/qtbase $ cd qtbase $ git checkout v6.8.0-beta4 $ mkdir build $ cd build $ cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DINPUT_opengl=no $ ninja [1/342] 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/kernel/qwindowsysteminterface.cpp.o: in function `QWindowSystemInterface::handleEnterLeaveEvent(QWindow*, QWindow*, QPointF const&, QPointF const&)': qwindowsysteminterface.cpp:(.text+0x4f6): undefined reference to `bool QWindowSystemHelper<QWindowSystemInterface::AsynchronousDelivery>::handleEvent<QWindowSystemInterfacePrivate::LeaveEvent, QWindow*>(QWindow*)' ``` I'll go ahead and revert this change to unbreak things. https://github.com/llvm/llvm-project/pull/106585 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits