git: f9499ed93c84 - main - devel/qcoro: fix build on powerpc*

From: Piotr Kubaj <pkubaj_at_FreeBSD.org>
Date: Wed, 17 May 2023 13:42:59 UTC
The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f9499ed93c84cc54ee9a8a8339ac2c21f069f613

commit f9499ed93c84cc54ee9a8a8339ac2c21f069f613
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2023-05-17 13:41:59 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2023-05-17 13:42:49 +0000

    devel/qcoro: fix build on powerpc*
    
    Fixed in LLVM 16:
    fatal error: error in backend: failed to perform tail call elimination on a call site marked musttail
    PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script.
    Stack dump:
    0.      Program arguments: /usr/bin/c++ -DQT_CORE_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_KEYWORDS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_URL_CAST_FROM_STRING -DQT_STRICT_ITERATORS -DQT_TESTCASE_BUILDDIR=\"/wrkdirs/usr/ports/devel/qcoro/work-qt5/.build\" -DQT_TESTLIB_LIB -DQT_USE_STRINGBUILDER -I/wrkdirs/usr/ports/devel/qcoro/work-qt5/.build/tests/test-qcorosignal_autogen/include -I/wrkdirs/usr/ports/devel/qcoro/work-qt5/qcoro-0.9.0/tests/testlibs -I/wrkdirs/usr/ports/devel/qcoro/work-qt5/qcoro-0.9.0 -I/wrkdirs/usr/ports/devel/qcoro/work-qt5/qcoro-0.9.0/qcoro -I/wrkdirs/usr/ports/devel/qcoro/work-qt5/qcoro-0.9.0/qcoro/core -I/wrkdirs/usr/ports/devel/qcoro/work-qt5/.build/qcoro/core -I/wrkdirs/usr/ports/devel/qcoro/work-qt5/.build/qcoro -I/wrkdirs/usr/ports/devel/qcoro/work-qt5/qcoro-0.9.0/qcoro/test -I/wrkdirs/usr/ports/devel/qcoro/work-qt5/.build/qcoro/test -isystem /usr/local/include/qt5 -isys
 tem /usr/local/include/qt5/QtCore -isystem /usr/local/lib/qt5/mkspecs/freebsd-clang -isystem /usr/local/include/qt5/QtTest -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fcoroutines-ts -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -DNDEBUG -std=gnu++20 -fPIC -pthread -MD -MT tests/CMakeFiles/test-qcorosignal.dir/qcorosignal.cpp.o -MF tests/CMakeFiles/test-qcorosignal.dir/qcorosignal.cpp.o.d -o tests/CMakeFiles/test-qcorosignal.dir/qcorosignal.cpp.o -c /wrkdirs/usr/ports/devel/qcoro/work-qt5/qcoro-0.9.0/tests/qcorosignal.cpp
    1.      <eof> parser at end of file
    2.      Code generation
    3.      Running pass 'Function Pass Manager' on module '/wrkdirs/usr/ports/devel/qcoro/work-qt5/qcoro-0.9.0/tests/qcorosignal.cpp'.
    4.      Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on function '@_ZZ19qCoroSignalListenerI15MultiSignalTestM10SignalTestFvvEEN5QCoro14AsyncGeneratorINS4_6detail16QCoroSignalQueueIT_T0_E11result_type10value_typeEEEPS8_OS9_NSt3__16chrono8durationIxNSF_5ratioILl1ELl1000EEEEEENKUlNSF_10unique_ptrINS7_IS0_S3_EENSF_14default_deleteISM_EEEEE_clESP_.resume'
     #0 0x0000000014b1252c (/usr/bin/c+++0x14b1252c)
     #1 0x0000000014b0fd00 (/usr/bin/c+++0x14b0fd00)
     #2 0x0000000014aab0cc (/usr/bin/c+++0x14aab0cc)
     #3 0x0000000014aab020 (/usr/bin/c+++0x14aab020)
     #4 0x0000000014afc590 (/usr/bin/c+++0x14afc590)
     #5 0x00000000117cd530 (/usr/bin/c+++0x117cd530)
     #6 0x0000000014ab4fe0 (/usr/bin/c+++0x14ab4fe0)
     #7 0x0000000014ab4e6c (/usr/bin/c+++0x14ab4e6c)
     #8 0x00000000154bd3f0 (/usr/bin/c+++0x154bd3f0)
     #9 0x0000000014d5f9d0 (/usr/bin/c+++0x14d5f9d0)
    c++: error: clang frontend command failed with exit code 70 (use -v to see invocation)
    FreeBSD clang version 14.0.5 (https://github.com/llvm/llvm-project.git llvmorg-14.0.5-0-gc12386ae247c)
    Target: powerpc64le-unknown-freebsd13.2
    Thread model: posix
    InstalledDir: /usr/bin
    c++: note: diagnostic msg:
    ********************
    
    PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
    Preprocessed source(s) and associated run script(s) are located at:
    c++: note: diagnostic msg: /tmp/qcorosignal-479743.cpp
    c++: note: diagnostic msg: /tmp/qcorosignal-479743.sh
    c++: note: diagnostic msg:
    
    ********************
---
 devel/qcoro/Makefile | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/devel/qcoro/Makefile b/devel/qcoro/Makefile
index c1c6bdd59788..330d5f671639 100644
--- a/devel/qcoro/Makefile
+++ b/devel/qcoro/Makefile
@@ -27,4 +27,11 @@ CMAKE_ARGS=	-DUSE_QT_VERSION=${FLAVOR:S/qt//}
 
 PLIST_SUB=	QT_VER=${FLAVOR:S/qt//}
 
+.include <bsd.port.options.mk>
+
+.if ${ARCH:Mpowerpc*}
+CXX=		clang++${LLVM_VERSION}
+USES+=		llvm:min=16
+.endif
+
 .include <bsd.port.mk>