private int getZeroBitFieldAlignment(BitFieldDataType zeroBitFieldDt, boolean isLastComponent) {

		if (isIgnoredZeroBitField(zeroBitFieldDt)) {
			return -1;
		}

		if (!bitFieldPacking.isTypeAlignmentEnabled()) {
			int zeroLengthBitFieldBoundary = bitFieldPacking.getZeroLengthBoundary();
			if (zeroLengthBitFieldBoundary > 0) {
				return zeroLengthBitFieldBoundary;
			}
			return 1;
		}

		int pack = packValue;
		if (!bitFieldPacking.useMSConvention() && !isLastComponent) {
			// GCC ignores pack value for :0 bitfield alignment but considers it when 
			// passing alignment along to structure
			pack = CompositeInternal.NO_PACKING;
		}

		return CompositeAlignmentHelper
				.getPackedAlignment(zeroBitFieldDt.getBaseDataType().getAlignment(), pack);
	}
Get structure length after all components have been added.
@return structure length
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/AlignedComponentPacker.java