在std :: atomic load中的Segfault?

时间:2015-04-23 13:14:11

标签: c++ c++11 segmentation-fault atomic

在linux上,使用gcc 4.8.4,使用-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;
}

在调用load时给出段错误。我打算如何初始化原子值?

1 个答案:

答案 0 :(得分:9)

结果证明这是gcc中的bug,此后已在GCC 5.1中得到修复。指定对齐是两个单词修复它。