| Issue |
52841
|
| Summary |
[Mangler] VLA causes assertion failure during mangling
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
nikic
|
```
void test(int n) {
double vla[n];
}
```
Running this code through `clang -cc1 -ast-dump=json` causes an assertion failure:
```
clang: /home/npopov/repos/llvm-project/clang/lib/AST/ItaniumMangle.cpp:5109: void {anonymous}::CXXNameMangler::mangleFunctionParam(const clang::ParmVarDecl*): Assertion `parmDepth < FunctionTypeDepth.getDepth()' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /home/npopov/repos/llvm-project/build/bin/clang -cc1 -ast-dump=json test.cpp
1. <eof> parser at end of file
2. test.cpp:2:10: Mangling declaration 'vla'
#0 0x000000000329d661 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
#1 0x000000000329ae3e SignalHandler(int) Signals.cpp:0:0
#2 0x00007f69e11ea760 __restore_rt (/lib64/libc.so.6+0x42760)
#3 0x00007f69e123789c __pthread_kill_implementation (/lib64/libc.so.6+0x8f89c)
#4 0x00007f69e11ea6b6 gsignal (/lib64/libc.so.6+0x426b6)
#5 0x00007f69e11d47d3 abort (/lib64/libc.so.6+0x2c7d3)
#6 0x00007f69e11d46fb _nl_load_domain.cold (/lib64/libc.so.6+0x2c6fb)
#7 0x00007f69e11e33a6 (/lib64/libc.so.6+0x3b3a6)
#8 0x0000000005da48ac (/home/npopov/repos/llvm-project/build/bin/clang+0x5da48ac)
#9 0x0000000005da09a0 (anonymous namespace)::CXXNameMangler::mangleExpression(clang::Expr const*, unsigned int, bool) ItaniumMangle.cpp:0:0
#10 0x0000000005d983e2 (anonymous namespace)::CXXNameMangler::mangleType(clang::QualType) ItaniumMangle.cpp:0:0
#11 0x0000000005d95e74 (anonymous namespace)::CXXNameMangler::mangleName(clang::GlobalDecl) ItaniumMangle.cpp:0:0
#12 0x0000000005daa5c1 (anonymous namespace)::ItaniumMangleContextImpl::mangleCXXName(clang::GlobalDecl, llvm::raw_ostream&) ItaniumMangle.cpp:0:0
#13 0x0000000005dcb0eb clang::ASTNameGenerator::Implementation::writeFuncOrVarName(clang::NamedDecl const*, llvm::raw_ostream&) DLangDemangle.cpp:0:0
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs