Support emitting aggregate class initializers. Fixes PR5581.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89569 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenCXX/const-init.cpp b/test/CodeGenCXX/const-init.cpp
index 427ba53..42da634 100644
--- a/test/CodeGenCXX/const-init.cpp
+++ b/test/CodeGenCXX/const-init.cpp
@@ -1,11 +1,26 @@
-// RUN: clang-cc -verify -emit-llvm -o %t %s
+// RUN: clang-cc -verify -triple x86_64-apple-darwin -emit-llvm -o - %s | FileCheck %s
 
+// CHECK: @a = global i32 10
 int a = 10;
+// CHECK: @ar = global i32* @a
 int &ar = a;
 
 void f();
+// CHECK: @fr = global void ()* @_Z1fv
 void (&fr)() = f;
 
 struct S { int& a; };
+// CHECK: @s = global %0 { i32* @a }
 S s = { a };
 
+// PR5581
+namespace PR5581 {
+class C {
+public:
+  enum { e0, e1 };
+  unsigned f;
+};
+
+// CHECK: @_ZN6PR55812g0E = global %1 { i32 1 }
+C g0 = { C::e1 };
+}