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