Home | History | Annotate | Download | only in Sema

Lines Matching full:bitfield

7324   if (const auto *BitField = E->getSourceBitField())
7325 return IntRange(BitField->getBitWidthValue(C),
7326 BitField->getType()->isUnsignedIntegerOrEnumerationType());
7746 /// Analyzes an attempt to assign the given value to a bitfield.
7749 bool AnalyzeBitFieldAssignment(Sema &S, FieldDecl *Bitfield, Expr *Init,
7751 assert(Bitfield->isBitField());
7752 if (Bitfield->isInvalidDecl())
7756 if (Bitfield->getType()->isBooleanType())
7760 if (Bitfield->getBitWidth()->isValueDependent() ||
7761 Bitfield->getBitWidth()->isTypeDependent() ||
7773 unsigned FieldWidth = Bitfield->getBitWidthValue(S.Context);
7778 // Compute the value which the bitfield will contain.
7780 TruncatedValue.setIsSigned(Bitfield->getType()->isSignedIntegerType());
7788 // therefore don't strictly fit into a signed bitfield of width 1.
7809 // a bitfield.
7810 if (FieldDecl *Bitfield = E->getLHS()->getSourceBitField()) {
7811 if (AnalyzeBitFieldAssignment(S, Bitfield, E->getRHS(),
8318 // TODO: this should happen for bitfield stores, too.
9377 FieldDecl *BitField,
9379 (void) AnalyzeBitFieldAssignment(*this, BitField, Init, InitLoc);