https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82287

            Bug ID: 82287
           Summary: When compiling with O2 or O3, memory model rejected
           Product: gcc
           Version: 4.9.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: geof.sawaya at oculus dot com
  Target Milestone: ---

g++ testThreadSpawnTime.cpp -o testThreadSpawnTime   -std=c++11 -O3 
In file included from /usr/local/include/c++/4.9.4/atomic:41:0,
                 from testThreadSpawnTime.cpp:5:
/usr/local/include/c++/4.9.4/bits/atomic_base.h: In function ‘int main()’:
/usr/local/include/c++/4.9.4/bits/atomic_base.h:478:2: error: invalid memory
model for ‘__atomic_store’
  __atomic_store_n(&_M_i, __i, __m);
  ^
/usr/local/include/c++/4.9.4/bits/atomic_base.h:478:2: error: invalid memory
model for ‘__atomic_store’
  __atomic_store_n(&_M_i, __i, __m);
  ^
/usr/local/include/c++/4.9.4/bits/atomic_base.h:478:2: error: invalid memory
model for ‘__atomic_store’
  __atomic_store_n(&_M_i, __i, __m);
  ^

The memory model is std::memory_order_acquire (used in atomic::store).

Reply via email to