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.
