Avoid build problem on armel caused by strange compiler.
authorDebian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Wed, 2 Aug 2023 20:42:54 +0000 (21:42 +0100)
committerPetter Reinholdtsen <pere@debian.org>
Wed, 2 Aug 2023 20:42:54 +0000 (21:42 +0100)
commitb7f5a648b7c9ffde74f8bf49e2197b608e91ef66
treef515558ad09665d7ebe56386cc491806766b3c05
parent7b8dc88e82ad3250f3a441ddf2aeebe2e0fe9f81
Avoid build problem on armel caused by strange compiler.

Add indirection and a result test which seem to confuse GCC 13 less
than the original statements.
 Fixes build problem:
   In file included from /usr/include/c++/13/atomic:41,
                    from /<<PKGBUILDDIR>>/test/common/doctest.h:2990,
                    from /<<PKGBUILDDIR>>/test/common/test.h:32,
                    from /<<PKGBUILDDIR>>/test/tbb/test_concurrent_monitor.cpp:26:
   In member function ‘void std::__atomic_base<_IntTp>::store(__int_type, std::memory_order) [with _ITp = bool]’,
       inlined from ‘void std::atomic<bool>::store(bool, std::memory_order)’ at /usr/include/c++/13/atomic:104:20,
       inlined from ‘void tbb::detail::r1::concurrent_monitor_base<Context>::notify_one_relaxed() [with Context = unsigned int]’ at /<<PKGBUILDDIR>>/test/tbb/../../src/tbb/concurrent_monitor.h:293:53,
       inlined from ‘void tbb::detail::r1::concurrent_monitor_base<Context>::notify_one() [with Context = unsigned int]’ at /<<PKGBUILDDIR>>/test/tbb/../../src/tbb/concurrent_monitor.h:276:27,
       inlined from ‘void DOCTEST_ANON_FUNC_35()’ at /<<PKGBUILDDIR>>/test/tbb/test_concurrent_monitor.cpp:87:44:
   /usr/include/c++/13/bits/atomic_base.h:481:25: error: ‘void __atomic_store_1(volatile void*, unsigned char, int)’ writing 1 byte into a region of size 0 overflows the destination [-Werror=stringop-overflow=]
     481 |         __atomic_store_n(&_M_i, __i, int(__m));
         |         ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~

Author: Petter Reinholdtsen <pere@debian.org>
Forwarded: no
Bug-Debian: https://bugs.debian.org/1042009
Last-Update: 2023-07-31

Gbp-Pq: Name 1050-armel-atomic-past-buffer.patch
src/tbb/concurrent_monitor.h