Issue |
82203
|
Summary |
[clang] [Interp] assertion failure on lambda capture of lambda (-fexperimental-new-constant-interpreter)
|
Labels |
clang
|
Assignees |
|
Reporter |
sethp
|
Given:
```c++
void wrapper() {
constexpr auto f = []() constexpr {
return 0;
};
constexpr auto g = [f]() constexpr {
return f();
};
static_assert(g() == f());
}
```
With `-fexperimental-new-constant-interpreter` clang crashes evaluating the declaration of `g`:
```
clang++: /root/llvm-project/clang/include/clang/AST/APValue.h:553: clang::APValue& clang::APValue::getStructField(unsigned int): Assertion `i < getStructNumFields() && "field index OOB"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /opt/compiler-explorer/clang-assertions-trunk/bin/clang++ -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -S --gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-diagnostics -fexperimental-new-constant-interpreter <source>
...
```
(see: https://godbolt.org/z/nz8v5sffc )
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs