C++ "using" overload bug in 1.1 and mainline

Martin von Loewis martin@mira.isdn.cs.tu-berlin.de
Fri Sep 18 16:05:00 GMT 1998


>   class A
>   {
>   public:
>     void f(int);
>   };
> 
>   class B : public A
>   {
>   public:
>     using A::f;
>     void f(long);
>   };

This is a known bug in egcs, using declarations in classes still are
ARM-style access declaration. In Standard C++, it should be reverse:
access declarations should work like using declarations.

Unfortunately, this might need some serious reworking in the way
members are represented, probably in a way similar to how namespace
using declarations work. Of course, you could also special-case
USING_DECLs all over the place.

Regards,
Martin



More information about the Gcc-bugs mailing list