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

Reply via email to