DR 1589
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 27 Jun 2013 02:35:52 +0000 (02:35 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 27 Jun 2013 02:35:52 +0000 (02:35 +0000)
* g++.dg/cpp0x/initlist72.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200451 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/g++.dg/cpp0x/initlist72.C [new file with mode: 0644]

diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist72.C b/gcc/testsuite/g++.dg/cpp0x/initlist72.C
new file mode 100644 (file)
index 0000000..98fc79f
--- /dev/null
@@ -0,0 +1,22 @@
+// DR 1589
+// { dg-require-effective-target c++11 }
+
+#include <initializer_list>
+
+struct Pair
+{
+  Pair(const char *, const char *);
+};
+
+struct String
+{
+  String(const char *);
+};
+
+void f1(int);                       // #1
+int f1(std::initializer_list<long>); // #2
+int g1() { return f1({42}); }       // chooses #2
+
+void f2(Pair);                        // #3
+int f2(std::initializer_list<String>); // #4
+int g2() { return f2({"foo","bar"}); } // chooses #4