[PATCH] D144006: [DebugMetadata][DwarfDebug] Support function-local types in lexical block scopes (4/7)
Martin Storsjö via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 20 00:37:58 PDT 2023
mstorsjo added a comment.
This change triggers failed asserts when compiling code for at least arm and aarch64. It is reproducible with this reduced testcase:
$ cat repro.c
typedef long long a;
typedef int b();
int c, d;
long e, f;
short g, j;
void *h;
short i[];
char k;
a l, m, n;
void o();
int p();
void r(b u) {
struct {
a q;
a s, t
} a;
e || p(c, d);
f = l = a.s;
for (; a.s;)
if (p(c, a, &a, a))
a.t &&a.q &&p(a, k);
if (g)
u(i, m, n, 0, h);
f = a.s;
for (; a.s;)
a.t &&a.q &&p(c, a, k);
if (g && j)
o(g);
}
int v(short *, long long, long long, int, void *) { r(v); }
$ clang -target aarch64-linux-gnu -c repro.c -g -O2
clang: ../lib/CodeGen/AsmPrinter/DwarfDebug.cpp:2334: virtual void llvm::DwarfDebug::endFunctionImpl(const llvm::MachineFunction*): Assertion `LScopes.getAbstractScopesList().size() == NumAbstractSubprograms && "getOrCreateAbstractScope() inserted an abstract subprogram scope"' failed.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D144006/new/
https://reviews.llvm.org/D144006
More information about the cfe-commits
mailing list