OSDN Git Service

* call.c (build_user_type_conversion_1): Do set ICS_BAD_FLAG if
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 13 Jan 2003 09:16:06 +0000 (09:16 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 13 Jan 2003 09:16:06 +0000 (09:16 +0000)
        all the ambiguous conversions are bad.

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

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

diff --git a/gcc/testsuite/g++.dg/overload/ambig2.C b/gcc/testsuite/g++.dg/overload/ambig2.C
new file mode 100644 (file)
index 0000000..614166f
--- /dev/null
@@ -0,0 +1,22 @@
+// Bug: g++ thought that the QChar overload was a viable but ambiguous
+// candidate.  It isn't viable, because there's no conversion from const
+// char * to QChar.
+
+class QChar {
+public:
+    QChar( char c );
+    QChar( unsigned char c );
+};
+
+class QString
+{
+public:
+    QString( const char *str );                 // deep copy
+
+    QString    &insert( unsigned int index, const QString & );
+    QString    &insert( unsigned int index, QChar );
+    QString    &prepend( const char* );
+};
+
+inline QString &QString::prepend( const char* s )
+{ return insert(0,s); }