philnik777 wrote: > > > One thing I REALLY hate about our pattern of using bitfields for enums, > > > is that it becomes pretty trivial to add an entry to an enum and forget > > > to increase the size of the bitfield. I think such a attribute could > > > cause a diagnostic of `bitfield says it holds an ENUM type, but can't > > > store all the values`, which would be INCREDIBLY valuable (not that I'm > > > pushing that this patch IMPLEMENT that, but more that I'm saying such a > > > name COULD do that, and probably should as well). > > > So in conclusion, I don't mind the name, but also prefer something more > > > general. > > > > > > Couldn't we add a warning for that in general? Seems like a pretty useful > > one to me. > > Not without SOME sort of psychic-level analysis from Sema. Without some level > of mapping of "I mean for this to hold the values of this Enum", we don't > have the information to do so. We cannot take advantage of assignments > (though a similar warning DOES exist in the 'range' checking) since it might > be intended that the field does some level of 'conversion' between enums.
I meant warning on something like https://godbolt.org/z/Ma17xjjc5. That doesn't seem like it should be that hard. 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