This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

bug or feature in egcs-980321 ?



Hello there,

Given the following source code,

class   A
{
protected:
  void                  f1()       {};
};

template <class T> class   B : private A {
protected:
  A::f1;
};

template <class T> class   D : private B< T >
{
public:
	void f2() { f1(); };
};

then egcs-980315 produces

/usr/lib/crt1.o: In function `_start':
/usr/lib/crt1.o(.text+0x5a): undefined reference to `main'
collect2: ld returned 1 exit status

and egcs-980321 produces

mar25.cc: In method `void D<T>::f2()':
mar25.cc:16: Error: request for member `f1' is ambiguous in
	multiple inheritance lattice

I think the code is legal, and new egcs-980321 is wrong to produce
the error message. If I'm wrong, I'd appreciate hearing about it.
If the error message is not reproducable anywhere else, I'd also
like to hear about it.

I'd be happy for the above code to be added to the egcs C++ test suite.


Regards

David Binderman MSc BSc    +44 1293 534 847       dcb_AVOID_JUNK_MAIL@pncl.co.uk
There is no substitute for skill, taste and experience when programming
 - Dr Stroustrup, inventor of C++



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]