From d2474533e1057bf631f9a3aa4c08c3f09744e3ae Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Wed, 31 May 2000 04:14:17 -0400 Subject: [PATCH] new From-SVN: r34289 --- .../g++.old-deja/g++.other/explicit1.C | 12 ++++++++++++ gcc/testsuite/g++.old-deja/g++.other/refinit1.C | 17 +++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 gcc/testsuite/g++.old-deja/g++.other/explicit1.C create mode 100644 gcc/testsuite/g++.old-deja/g++.other/refinit1.C diff --git a/gcc/testsuite/g++.old-deja/g++.other/explicit1.C b/gcc/testsuite/g++.old-deja/g++.other/explicit1.C new file mode 100644 index 00000000000..7baf04febfc --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/explicit1.C @@ -0,0 +1,12 @@ +// Origin: Jason Merrill + +struct A +{ + A (); + explicit A (int); +}; + +int main () +{ + const A& r = 1; // ERROR - no suitable constructor +} diff --git a/gcc/testsuite/g++.old-deja/g++.other/refinit1.C b/gcc/testsuite/g++.old-deja/g++.other/refinit1.C new file mode 100644 index 00000000000..2f01e16043f --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/refinit1.C @@ -0,0 +1,17 @@ +// Test that we don't allow multiple user-defined conversions in reference +// initialization. +// Build don't link: + +struct B { }; + +struct A { + A (const B&); +}; + +struct C { + operator B (); +}; + +C c; + +const A& ref (c); // ERROR - requires two UDCs -- 2.30.2