summaryrefslogtreecommitdiff
path: root/sys-devel/llvm/llvm-16.0.6.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/llvm/llvm-16.0.6.ebuild')
-rw-r--r--sys-devel/llvm/llvm-16.0.6.ebuild10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys-devel/llvm/llvm-16.0.6.ebuild b/sys-devel/llvm/llvm-16.0.6.ebuild
index 809dbc7f3b8c..aa171c1cd361 100644
--- a/sys-devel/llvm/llvm-16.0.6.ebuild
+++ b/sys-devel/llvm/llvm-16.0.6.ebuild
@@ -324,7 +324,15 @@ get_distribution_components() {
}
multilib_src_configure() {
- tc-is-gcc && filter-lto # GCC miscompiles LLVM, bug #873670
+ if use ppc && tc-is-gcc && [[ $(gcc-major-version) -lt 14 ]]; then
+ # Workaround for bug #880677
+ append-flags $(test-flags-CXX -fno-ipa-sra -fno-ipa-modref -fno-ipa-icf)
+ fi
+
+ # ODR violations (bug #917536, bug #926529). Just do it for GCC for now
+ # to avoid people grumbling. GCC is, anecdotally, more likely to miscompile
+ # LLVM with LTO anyway (which is not necessarily its fault).
+ tc-is-gcc && filter-lto
local ffi_cflags ffi_ldflags
if use libffi; then