https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215193

--- Comment #22 from Matthias Andree <[email protected]> ---
Mark,

thanks for having a look at rawtherapee.  I've rehashed this combination of
compilers and libc++ several times (with and without a libcxx port),
and it seems the upstream LLVM guys are generally willing to address this and
avoid compiler built-ins in this situation (see the links I'd added to the
GCC15 DEFAULT_VERSION and the rawtherapee GCC15 PRs).

So far, rawtherapee is forcing C++11 standard down for the libraw build
(arguably C++14 should usually also work, but wouldn't fix what we see).

But judging from past experience [1], my concern is it will take months or
worst case years until our base libc++ has the relevant bits in place, since
that's a more complex matter (changing, rather than just adding, code).  

If you're now showing a way forward to fix this in GCC instead of the base
system's libc++, that would be great, but we cannot use libstdc++ on ports -
else we need to recompile *ALL* ports in a libstdc++ ABI version that expose
C++ interfaces.  (extern "C" interfaces that aren't required to transport
exceptions are fine though)

I will also concede that using GCC to compile vs. libc++ is officially
"experimental" as far as GCC is concerned.

Then again, rawtherapee keeps returning to GCC because its output code in
rawtherapee's context is so much more efficient than what clang compiles.
Roughly a factor of two - that's in terms of CPU time used, GCC compiled
rawtherapee uses about half as much CPU time for my same test case than the
clang compile, with default compiler flags plus CPUTYPE=-march=znver3.  Not
sure if OpenMP cheats the CPU time accounting - the wallclock time is on par. 
All OpenMP, LTO, and fully optimized.


_____
[1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=284499 "13.4-RELEASE
needs backport of __cxa_call_terminate into libc++ for upcoming GCC14 default
ports compiler" - never made it for 13.4.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to