aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-10-24 20:48:08 +0200
committerTor Egge <Tor.Egge@online.no>2022-10-24 20:48:08 +0200
commitf2314b1f389bb1e31c77129e7b836f87241a56f0 (patch)
tree83919b87a99648dcb03fa86fd15cb4652aa527d0 /searchlib
parent19b75899fe321160c56e568827461120dd726e5d (diff)
Disable agressive loop optimizations warnings when compiling with lto.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/tests/sort/CMakeLists.txt3
-rw-r--r--searchlib/src/vespa/searchlib/common/sort.h5
2 files changed, 8 insertions, 0 deletions
diff --git a/searchlib/src/tests/sort/CMakeLists.txt b/searchlib/src/tests/sort/CMakeLists.txt
index e342237adf0..def7c0681c3 100644
--- a/searchlib/src/tests/sort/CMakeLists.txt
+++ b/searchlib/src/tests/sort/CMakeLists.txt
@@ -12,6 +12,9 @@ vespa_add_executable(searchlib_sort_test_app
DEPENDS
searchlib
)
+if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND VESPA_USE_LTO)
+ target_link_options(searchlib_sort_test_app PRIVATE "-Wno-aggressive-loop-optimizations")
+endif()
#vespa_add_test(NAME searchlib_sort_test_app COMMAND searchlib_sort_test_app)
vespa_add_executable(searchlib_uca_stress_app
SOURCES
diff --git a/searchlib/src/vespa/searchlib/common/sort.h b/searchlib/src/vespa/searchlib/common/sort.h
index b90bda698a0..4f0d285f1c7 100644
--- a/searchlib/src/vespa/searchlib/common/sort.h
+++ b/searchlib/src/vespa/searchlib/common/sort.h
@@ -233,7 +233,12 @@ void ShiftBasedRadixSorterBase<GR, T, SHIFT>::radix_fetch(GR R, size_t cnt[256],
}
}
for(; p < n; p++) {
+#pragma GCC diagnostic push
+#ifndef __clang__
+#pragma GCC diagnostic ignored "-Waggressive-loop-optimizations"
+#endif
cnt[(R(a[p]) >> SHIFT) & 0xFF]++;
+#pragma GCC diagnostic pop
}
}