Fix PR8796.

The problem was that we were asserting the we never added an empty class
to the same offset twice. This is not true for unions, where two members, empty
or not, can have the some offset.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122633 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenCXX/empty-classes.cpp b/test/CodeGenCXX/empty-classes.cpp
index 59124e3..1ce1dad 100644
--- a/test/CodeGenCXX/empty-classes.cpp
+++ b/test/CodeGenCXX/empty-classes.cpp
@@ -53,6 +53,19 @@
   return 0;
 }
 
+namespace PR8796 {
+  struct FreeCell {
+  };
+  union ThingOrCell {
+    FreeCell t;
+    FreeCell cell;
+  };
+  struct Things {
+    ThingOrCell things;
+  };
+  Things x;
+}
+
 #ifdef HARNESS
 extern "C" void printf(const char *, ...);