aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2013-06-26 22:35:52 -0400
committerJason Merrill <jason@gcc.gnu.org>2013-06-26 22:35:52 -0400
commitb47a3fef9cd5483b5d4f21bd35204dfafc249eef (patch)
treece44c3421249f96f428cdb80bf7fbdd2e1f983e2
parent46812ec24c9d4daabe6f2a5f77973cc21cef1426 (diff)
downloadgcc-b47a3fef9cd5483b5d4f21bd35204dfafc249eef.zip
gcc-b47a3fef9cd5483b5d4f21bd35204dfafc249eef.tar.gz
gcc-b47a3fef9cd5483b5d4f21bd35204dfafc249eef.tar.bz2
DR 1589
DR 1589 * g++.dg/cpp0x/initlist72.C: New. From-SVN: r200451
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist72.C22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist72.C b/gcc/testsuite/g++.dg/cpp0x/initlist72.C
new file mode 100644
index 0000000..98fc79f
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/initlist72.C
@@ -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