From da290a9a11089db6d32030d71bd880b4de116c98 Mon Sep 17 00:00:00 2001 From: jason Date: Mon, 13 Jan 2003 09:16:06 +0000 Subject: [PATCH] * call.c (build_user_type_conversion_1): Do set ICS_BAD_FLAG if 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 | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 gcc/testsuite/g++.dg/overload/ambig2.C diff --git a/gcc/testsuite/g++.dg/overload/ambig2.C b/gcc/testsuite/g++.dg/overload/ambig2.C new file mode 100644 index 00000000000..614166f9fe8 --- /dev/null +++ b/gcc/testsuite/g++.dg/overload/ambig2.C @@ -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); } -- 2.11.0