Avoid build problem on armel caused by strange compiler.
authorDebian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Tue, 26 Dec 2023 19:26:37 +0000 (14:26 -0500)
committerMo Zhou <lumin@debian.org>
Tue, 26 Dec 2023 19:26:37 +0000 (14:26 -0500)
commitcfe150f2c8e940324d428ca77c7e1a9b8d980b21
treea533f9f8bb0de0f3d436ba2afc204b16d5b0ab4f
parentb28fc355129060d9bee9967a6f1e13854df948f7
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