未验证 提交 476920fc 编写于 作者: T Twice 提交者: GitHub

shared_or_scalar: fix alias warnings (#5916)

Co-authored-by: NHoujiang Chen <chenhoujiangcug@gmail.com>
Co-authored-by: Noneflow-ci-bot <69100618+oneflow-ci-bot@users.noreply.github.com>
上级 7baabd4e
......@@ -118,9 +118,16 @@ class SharedOrScalar final {
alignas(Shared) char shared_mem_[sizeof(Shared)];
};
const Shared& GetShared() const { return reinterpret_cast<const Shared&>(shared_mem_); }
const Shared& GetShared() const {
const auto* __attribute__((__may_alias__)) shared =
reinterpret_cast<const Shared*>(&shared_mem_);
return *shared;
}
Shared* MutableShared() { return reinterpret_cast<Shared*>(&shared_mem_); }
Shared* MutableShared() {
auto* __attribute__((__may_alias__)) shared = reinterpret_cast<Shared*>(&shared_mem_);
return shared;
}
};
} // namespace oneflow
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册