yihanaa added inline comments.
================ Comment at: clang/lib/CodeGen/CGBuiltin.cpp:2113-2117 if (CanonicalType->isRecordType()) { - TmpRes = dumpRecord(CGF, CanonicalType, FieldPtr, Align, Func, Lvl + 1); + TmpRes = dumpRecord(CGF, CanonicalType, FieldLV, Align, Func, Lvl + 1); Res = CGF.Builder.CreateAdd(TmpRes, Res); continue; } ---------------- yihanaa wrote: > rsmith wrote: > > After this patch, this case no longer prints the field name. Eg: > > https://godbolt.org/z/o7vcbWaEf > > > > ``` > > #include <stdio.h> > > > > struct A {}; > > > > struct B { > > A a; > > }; > > > > > > int main() { > > B x; > > __builtin_dump_struct(&x, &printf); > > } > > ``` > > > > now prints: > > > > ``` > > B { > > A { > > } > > } > > ``` > > > > This seems like an important regression; please can you take a look? This > > also suggests to me that there's a hole in our test coverage. > Thanks for taking the time to review my patch and writing the Compiler > Explorer examples, I'll take a look at this problem > After this patch, this case no longer prints the field name. Eg: > https://godbolt.org/z/o7vcbWaEf > > ``` > #include <stdio.h> > > struct A {}; > > struct B { > A a; > }; > > > int main() { > B x; > __builtin_dump_struct(&x, &printf); > } > ``` > > now prints: > > ``` > B { > A { > } > } > ``` > > This seems like an important regression; please can you take a look? This > also suggests to me that there's a hole in our test coverage. I'm sorry for introducing this bug. 😔 Do you think the following is correct behavior? If yes I will try to fix it. ``` struct B { struct A a = { } } ``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122248/new/ https://reviews.llvm.org/D122248 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits