Retry r126357. Use CharUnits for the Size and DataSize calculations when
they are known to be exact multiples of the width of the char type. Add a
test case to CodeGen/union.c that would have caught the problem with the
previous attempt. No change in functionality intended.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126628 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGen/union.c b/test/CodeGen/union.c
index 1883ca6..5c89e2d 100644
--- a/test/CodeGen/union.c
+++ b/test/CodeGen/union.c
@@ -42,3 +42,5 @@
 // PR6164
 typedef union T0 { unsigned int : 0; } T0;
 T0 t0;
+
+union { int large_bitfield: 31; char c } u2;