Clang currently generates wrong record layout for -mms-bitfield and #pragma pack. https://godbolt.org/g/nQ4rVW shows how MSVC and GCC generate different layout to Clang.
This patch fixes the issue by ensuring that bitfields are not packed, but the record's alignment is still updated. This seems to be in line with logic used by GCC and MSVC.
rdar://36343145
I think naming this 'FieldAlignForRecord' would be clearer.
Other this LGTM.