yihanaa added a comment.

I'll just add that in the recursive call, for record type, it will just print 
what's between {...}
Eg:

  int printf(const char *, ...);
  
  struct A {
      int x;
  };
  
  struct B {
      struct A a;
      struct C {
        int b;
        union X {
          int i;
          int j;
        } z;
      } bar;
  };
  
  
  int main() {
      struct B x = {0};
      __builtin_dump_struct(&x, &printf);
  }

output:

  struct B {
      struct A a = {
          int x = 0
      }
      struct C bar = {
          int b = 0
          union X z = {
              int i = 0
              int j = 0
          }
      }
  }


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122920/new/

https://reviews.llvm.org/D122920

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to