git: 719b60dc29cf - main - devel/concurrencpp: fix build on powerpc*

From: Piotr Kubaj <pkubaj_at_FreeBSD.org>
Date: Sun, 28 May 2023 11:42:53 UTC
The branch main has been updated by pkubaj:

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

commit 719b60dc29cf866645f7e608a0960d22a2234c65
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2023-05-26 10:51:43 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2023-05-28 11:42:42 +0000

    devel/concurrencpp: fix build on powerpc*
    
    Fixed in LLVM 16:
    /usr/bin/c++ -DCRCPP_EXPORT_API -Dconcurrencpp_EXPORTS -isystem /wrkdirs/usr/ports/devel/concurrencpp/work/concurrencpp-v.0.1.6/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=c++20 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -pthread -MD -MT CMakeFiles/concurrencpp.dir/source/timers/timer_queue.cpp.o -MF CMakeFiles/concurrencpp.dir/source/timers/timer_queue.cpp.o.d -o CMakeFiles/concurrencpp.dir/source/timers/timer_queue.cpp.o -c /wrkdirs/usr/ports/devel/concurrencpp/work/concurrencpp-v.0.1.6/source/timers/timer_queue.cpp
    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++ -DCRCPP_EXPORT_API -Dconcurrencpp_EXPORTS -isystem /wrkdirs/usr/ports/devel/concurrencpp/work/concurrencpp-v.0.1.6/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -DNDEBUG -std=c++20 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -pthread -MD -MT CMakeFiles/concurrencpp.dir/source/timers/timer_queue.cpp.o -MF CMakeFiles/concurrencpp.dir/source/timers/timer_queue.cpp.o.d -o CMakeFiles/concurrencpp.dir/source/timers/timer_queue.cpp.o -c /wrkdirs/usr/ports/devel/concurrencpp/work/concurrencpp-v.0.1.6/source/timers/timer_queue.cpp
    1.      <eof> parser at end of file
    2.      Code generation
    3.      Running pass 'Function Pass Manager' on module '/wrkdirs/usr/ports/devel/concurrencpp/work/concurrencpp-v.0.1.6/source/timers/timer_queue.cpp'.
    4.      Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on function '@_ZN12concurrencpp11timer_queue22make_delay_object_implENSt3__16chrono8durationIxNS1_5ratioILl1ELl1000EEEEENS1_10shared_ptrIS0_EENS7_INS_8executorEEE.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
---
 devel/concurrencpp/Makefile | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/devel/concurrencpp/Makefile b/devel/concurrencpp/Makefile
index 736ec9d7ff54..3bd6731203eb 100644
--- a/devel/concurrencpp/Makefile
+++ b/devel/concurrencpp/Makefile
@@ -19,11 +19,9 @@ CMAKE_ON=	BUILD_SHARED_LIBS
 
 .include <bsd.port.options.mk>
 
-.if (${ARCH} == powerpc64le || ${ARCH} == powerpc64 || ${ARCH} == powerpc) && ${OSVERSION} < 1300523
-BUILD_DEPENDS=	llvm13>0:devel/llvm13
-CPP=		${LOCALBASE}/bin/clang-cpp13
-CC=		${LOCALBASE}/bin/clang13
-CXX=		${LOCALBASE}/bin/clang++13
+.if ${ARCH} == powerpc64le || ${ARCH} == powerpc64 || ${ARCH} == powerpc
+CXX=		clang++${LLVM_VERSION}
+USES+=		llvm:min=16
 .endif
 
 do-test: # same as recommended in https://github.com/David-Haim/concurrencpp#building-installing-and-testing