On Sep 19, 2007, at 11:38 AM, Hartmut Kaiser wrote: > Chris, > >>> QualType CanonicalType; >>> >>> /// TypeClass bitfield - Enum that specifies what subclass this >>> belongs to. >>> /// Note that this should stay at the end of the ivars >> for Type so >>> that >>> /// subclasses can pack their bitfields into the same word. >>> TypeClass TC : 4; >>> >>> another alternative is to make the TC bit field 5 bits >> wide. This is >>> the choice llvm made in one of is class. >> >> I'd suggest changing getTypeClass() to do the appropriate masking. > > FWIW, that's exactly what I did a couple of days ago. > Are there other places in clang where bitmasks are used?
The specific sticking issue seems to be enum bitfields. The other solution would be to declare TC as: unsigned TC : 4; and then return (TypeClass)TC; in getTypeClass(). This is probably the cleanest solution. -Chris _______________________________________________ cfe-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
