OSDN Git Service

Merge remote-tracking branch 'gnu/gcc-4_7-branch' into rework
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / cpp0x / initlist49.C
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist49.C b/gcc/testsuite/g++.dg/cpp0x/initlist49.C
new file mode 100644 (file)
index 0000000..752c433
--- /dev/null
@@ -0,0 +1,18 @@
+// Test for non-trivial list-initialization with array new.
+// { dg-options -std=c++0x }
+// { dg-do run }
+
+struct A
+{
+  enum E { c_string, number } e;
+  A(const char *): e(c_string) {}
+  A(int): e(number) {}
+};
+
+int main()
+{
+  A* ap = new A[2]{1, ""};
+  if (ap[0].e != A::number || ap[1].e != A::c_string)
+    return 1;
+  delete[] ap;
+}