[PATCH] D122248: [clang][CodeGen]Fix clang crash and add bitfield support in __builtin_dump_struct
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 23 12:37:40 PDT 2022
aaron.ballman added a comment.
In D122248#3403478 <https://reviews.llvm.org/D122248#3403478>, @erichkeane wrote:
> If it is ok, I think we should probably change the format of the 'dump' for fields. Using the colon to split up the field from the value is unfortunate, may I suggest replacing it with '=' instead? As well as printing the size after a colon. So for:
>
> void foo(void) {
> struct Bar {
> unsigned c : 1;
> unsigned : 3;
> unsigned : 0;
> unsigned b;
> };
>
> struct Bar a = {
> .c = 1,
> .b = 2022,
> };
>
> __builtin_dump_struct(&a, &printf);
> }
>
> Output:
>
> struct Bar {
> unsigned int c : 1 = 1
> unsigned int : 3 = 0
> unsigned int : 0 =
> unsigned int b = 2022
> }
>
> What do you all think?
I think that's a good idea for clarity. For the case where we have no value, I wonder if we want to do something like: `unsigned int : 0 = <uninitialized>` (or something else to make it exceptionally clear that there's nothing missing after the `=`)?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D122248/new/
https://reviews.llvm.org/D122248
More information about the cfe-commits
mailing list