提交 17405027 编写于 作者: Y Yang Yu

Fix GPU Compile on Linux

上级 1c31bb94
......@@ -27,11 +27,12 @@ namespace platform {
This wrap is a hack to avoid this bug.
*/
template <class Callable, class... Args>
template <typename Callable, typename... Args>
inline void call_once(std::once_flag& flag, Callable&& f, Args&&... args) {
bool good = false;
std::exception ex;
std::call_once(flag, [&]() {
std::call_once(flag,
[&](Args&&... args) {
try {
f(args...);
good = true;
......@@ -40,7 +41,8 @@ inline void call_once(std::once_flag& flag, Callable&& f, Args&&... args) {
} catch (...) {
ex = std::runtime_error("excption caught in call_once");
}
});
},
args...);
if (!good) {
throw std::exception(ex);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册