diff --git a/arbor/include/arbor/simd/avx.hpp b/arbor/include/arbor/simd/avx.hpp index 67fb4f4a6f9de9c737029b7830976eaf7734e763..2aeaed9f19e534b16ab58338270366169ad72274 100644 --- a/arbor/include/arbor/simd/avx.hpp +++ b/arbor/include/arbor/simd/avx.hpp @@ -332,11 +332,11 @@ struct avx_double4: implbase<avx_double4> { return _mm256_castsi256_pd(combine_m128i(bu, bl)); } - static void mask_set_element(__m256d& u, int i, bool b) { - char data[256]; - _mm256_storeu_pd((double*)data, u); - ((int64*)data)[i] = -(int64)b; - u = _mm256_loadu_pd((double*)data); + static void mask_set_element(__m256d& u, const int i, bool b) { + int64 data[4]; + _mm256_storeu_si256((__m256i*)data, _mm256_castpd_si256(u)); + data[i] = -(int64)b; + u = _mm256_castsi256_pd(_mm256_loadu_si256((__m256i*)data)); } static void mask_copy_to(const __m256d& m, bool* y) { diff --git a/arbor/memory/range_limits.hpp b/arbor/memory/range_limits.hpp index c1284a8b533813cc72e5d49b38b1b2a8e0efb21b..273e2f8091f3cba0122087d6f97c2705e71a829b 100644 --- a/arbor/memory/range_limits.hpp +++ b/arbor/memory/range_limits.hpp @@ -5,11 +5,5 @@ namespace memory { // tag for final element in a range struct end_type {}; -namespace{ - // attach the unused attribute so that -Wall won't generate warnings when - // translation units that include this file don't use end - end_type end [[gnu::unused]]; -} - } // namespace memory } // namespace arb diff --git a/test/unit/test_probe.cpp b/test/unit/test_probe.cpp index 6ea8ad808288fa3289b244f4372ce45ab51cdf6c..13fc98899933c3a5dc77719bfc25c8925002d627 100644 --- a/test/unit/test_probe.cpp +++ b/test/unit/test_probe.cpp @@ -1164,7 +1164,7 @@ void run_stimulus_probe_test(const context& ctx) { cable_probe_stimulus_current_cell{}, {stim_until/2, 2*stim_until}).at(0); ASSERT_EQ(3u, traces[i].meta.size()); - for (unsigned cv: {0u, 1u, 2u}) { + for ([[maybe_unused]] unsigned cv: {0u, 1u, 2u}) { ASSERT_EQ(2u, traces[i].size()); } }