gcc 内部编译器 段错误
· 阅读需 6 分钟
之前写项目的时候发现一个gcc编译器bug. 尝试给他们提 issues
了~...
1. 实际代码
实际代码如下:
2. 最小可复现
尝试最小可复现案例: (https://godbolt.org/z/9EfjWEvTP) & (https://godbolt.org/z/fM84Ex34j)
目前解决方案是:
- 去掉模板
template <typename T = void>
- 把
decltype([] ...)
提出到外部模板函数, 然后decltype(func(...))
也是 OK 的.
已经报告到 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121287 中,
挺好的, 不到一天, 已经被列入 Bug 107430 (c++-lambda-decltype) - [meta-bug] lambda in decltype 中了
还被一位老哥添加到超送了, 加油, 快点修 Bug.