Right, this won't actually work if there are zero-width bitfields. We'll still miss that case in C, but maybe in C++ we can get that by inverting the checks. http://llvm-reviews.chandlerc.com/D1573