Even more careful consideration of C++11 13.3.3.1p4. Fixes PR12241.

llvm-svn: 153523
diff --git a/clang/test/SemaCXX/cxx0x-initializer-constructor.cpp b/clang/test/SemaCXX/cxx0x-initializer-constructor.cpp
index a14283c..da10189 100644
--- a/clang/test/SemaCXX/cxx0x-initializer-constructor.cpp
+++ b/clang/test/SemaCXX/cxx0x-initializer-constructor.cpp
@@ -237,7 +237,7 @@
   bool s = f(string<1>());
 }
 
-namespace PR12257 {
+namespace PR12257_PR12241 {
   struct command_pair
   {
     command_pair(int, int);
@@ -253,14 +253,9 @@
     generator_pair(const command_map);
   };
 
-  const std::initializer_list<generator_pair> x =
-  {
-    {
-      {
-        {
-          {3, 4}
-        }
-      }
-    }
-  };
+  // 5 levels: init list, gen_pair, command_map, init list, command_pair
+  const std::initializer_list<generator_pair> x = {{{{{3, 4}}}}};
+
+  // 4 levels: init list, gen_pair, command_map via init list, command_pair
+  const std::initializer_list<generator_pair> y = {{{{1, 2}}}};
 }