erichkeane wrote:

>In my previous comments 
>(https://github.com/llvm/llvm-project/pull/69104#issuecomment-1771167758, 
>https://github.com/llvm/llvm-project/pull/69104#issuecomment-1771204043) I 
>provided an example of StoredNameKind enum that has enumerators 0 through 8 (9 
>total, 4 bits to store), but we store it in a bit-fields of width 3, because 
>the last enumerator is there to count other enumerators, and is used for 
>offset purposes. If we apply -Wbitfield-enum-conversion to it as-is, we get a 
>false-positive: https://godbolt.org/z/4xPs6qPTY.

I thought that was a contrived example, but I see where it is from now (note 
your example is the related but not-exactly-the-same 
`Wbitfield-constant-conversion`), which brings up an additional concern/thing 
to deal with for the `non_storable` attribute (that is, do we apply it to 
assignments? how about exact-assignments like you've done there?).

That is an odd/awkward pattern even so... I think there is still value to the 
warning as proposed, but I'm now not opposed to using `non_storable` as an 
escape hatch.




https://github.com/llvm/llvm-project/pull/69104
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to