GCC 3.4.2 selects an overload that requires an inaccessible conversion when an
ellipsis function overload is available
Platform is Cygwin on Windows 2000.
See the example below.
class A {};
class B : public A {};
class C : private A {};
void f(...);
void f(A*);
void error()
{
f(static_cast<B*>(0));
f(static_cast<C*>(0)); // <- Line 42
}
Conversion.cc: In function `void error()':
Conversion.cc:42: error: `A' is an inaccessible base of `C'
--
Summary: GCC3.4.2 selects incorrect function overload when an
ellipsis overload is available
Product: gcc
Version: 3.4.2
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: aleethorp at hotmail dot com
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18289