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

Reply via email to