Segfault in std::atomic load?
问题 On linux, using gcc 4.8.4, compiled with -std=c++11 -mcx16: #include <atomic> struct node_t; struct pointer_t { node_t* ptr; unsigned int count; pointer_t() noexcept : ptr{nullptr}, count{0} {} }; struct empty {}; struct node_t { empty value; std::atomic<pointer_t> next; node_t() : next{pointer_t{}} {} }; int main() { node_t{}.next.load(); return 0; } gives a segfault when load is called. How am I meant to initialize an atomic value? 回答1: Turns out this is a bug in gcc that has since been