aaron.ballman added a comment.

In D122248#3405644 <https://reviews.llvm.org/D122248#3405644>, @yihanaa wrote:

> In D122248#3405166 <https://reviews.llvm.org/D122248#3405166>, @erichkeane 
> wrote:
>
>> In D122248#3405062 <https://reviews.llvm.org/D122248#3405062>, 
>> @aaron.ballman wrote:
>>
>>> In D122248#3403734 <https://reviews.llvm.org/D122248#3403734>, @yihanaa 
>>> wrote:
>>>
>>>> What if we don't emit '=' for zero-width bitfield, like this:
>>>>
>>>>   struct Bar {
>>>>   unsigned c : 1;
>>>>   unsigned : 3;
>>>>   unsigned : 0;
>>>>   unsigned b;
>>>>   };
>>>>   
>>>>   struct Bar {
>>>>   unsigned int c : 1 = 0
>>>>   unsigned int   : 3 = 0
>>>>   unsigned int   : 0
>>>>   unsigned int b = 0
>>>>   }
>>>>
>>>> What do you all think?
>>>
>>> I like this idea best of all!
>>
>> Agreed!
>
> @erichkeane @aaron.ballman 
> Previously we used FieldDecl->getNameAsString to get the field name, but the 
> comments for this function indicate that it is Deprecated,and suggestion move 
> clients to getName().
>
> The FieldDecl->getName() return the anonymous inner struct's name like:
>
>   struct T3A {
>     union {
>       int a;
>       char b[4];
>     };
>   };
>
>   struct T3A {
>   union T3A::(anonymous at ./builtin_dump_struct.c:77:5) {
>       int a = 42
>       char[4] b = 0x2a
>       }
>   }
>
> what do you all think?

I would probably keep using `getNameAsString()` as I don't think the extra 
information helps overly much. That interface was marked deprecated 13 years 
ago, so don't feel bad for making use of it.


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