Lines Matching full:bitfield
604 /// UnfilledBitsInLastUnit - If the last field laid out was a bitfield,
606 /// an adjacent bitfield if necessary. The unit in question is usually
610 /// of the previous field if it was a bitfield.
1411 // The bitfield is allocated starting at the next offset aligned
1443 // last allocated bitfield (i.e. the first bit offset available for
1453 // in the System V generic ABI. The basic bitfield layout rule in
1455 // where the entire bitfield would fit in an aligned storage unit of
1456 // the declared type; it's okay if an earlier or later non-bitfield
1460 // the bitfield at the next available bit offset.
1465 // the standard algorithm. The basic bitfield layout rule is to
1466 // allocate an entire unit of the bitfield's declared type
1473 // A zero-width bitfield forces the use of a new storage unit for
1476 // place a non-bitfield of the field's formal type. Usually this
1480 // ignored unless they follow a non-zero-width bitfield.
1486 // the bitfield. For ms_struct, this only affects the placement of
1504 // If the previous field was not a bitfield, or was a bitfield
1528 // Handle targets that don't honor bitfield type alignment.
1582 // Check if we need to add padding to fit the bitfield within an
1586 // If it's not a zero-width bitfield, and we can fit the bitfield
1634 // Okay, place the bitfield at the calculated offset.
1651 // Update DataSize to include the last byte containing (part of) the bitfield.
1656 // is a zero-width bitfield, in which case just use a size of 1.
1663 // the bitfield.
1681 // Otherwise, bump the data size up to include the bitfield,
1691 // zero-width bitfield, which doesn't count as anything for the
1744 // If MS bitfield layout is required, figure out what type is being
2091 // sense of ISO C++ [class]) with a bitfield member whose
2093 // bitfield is not a POD for the purpose of layout. Similarly,
2127 // * The existence of zero-width bitfield that occurs after anything other than
2128 // a non-zero length bitfield is ignored.
2180 // * __declspec(align) on bitfields has the effect of changing the bitfield's
2191 // * 2010 and back: If the last field in a record is a bitfield, every object
2194 // bitfield. 0 sized bitfields don't exhibit this behavior and the extra
2195 // padding can be avoided by adding a 0 sized bitfield after the non-zero-
2196 // sized bitfield.
2200 // suffers from the "last field is a bitfield" bug in 2010 and results in
2258 /// \brief Places a bitfield at a bit offset.
2280 /// \brief The size of the allocation of the currently active bitfield.
2300 /// \brief The number of remaining bits in our last bitfield allocation.
2305 /// \brief True if the last field laid out was a bitfield and was not 0
2639 // Clamp the bitfield to a containable size for the sake of being able
2643 // Check to see if this bitfield fits into an existing allocation. Note:
2657 // TODO: Add a Sema warning that MS ignores bitfield alignment in unions.
2659 // Allocate a new block of memory and place the bitfield in it.
2671 // bitfield.
2683 // TODO: Add a Sema warning that MS ignores bitfield alignment in unions.