From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17224 invoked by alias); 11 Dec 2002 07:16:03 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 17200 invoked by uid 71); 11 Dec 2002 07:16:02 -0000 Date: Tue, 10 Dec 2002 23:16:00 -0000 Message-ID: <20021211071602.17199.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: andre@kiwisound.de Subject: Re: Re: c++/8821: gcc 3.2 problem with overloaded inherited operator Reply-To: andre@kiwisound.de X-SW-Source: 2002-12/txt/msg00620.txt.bz2 List-Id: The following reply was made to PR c++/8821; it has been noted by GNATS. From: andre@kiwisound.de To: bangerth@dealii.org, andre@kiwisound.de, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Cc: Subject: Re: Re: c++/8821: gcc 3.2 problem with overloaded inherited operator Date: Wed, 11 Dec 2002 08:09:02 +0100 bangerth@dealii.org schrieb am 10.12.2002, 23:28:06: > Synopsis: gcc 3.2 problem with overloaded inherited operator > > State-Changed-From-To: open->analyzed > State-Changed-By: bangerth > State-Changed-When: Tue Dec 10 14:28:05 2002 > State-Changed-Why: > I can confirm that this problem exists. However, I am > not sure whether it is really a bug: the operator > you want to call is simply hidden by the operator > in the derived class. What I don't know is how lookup > of member operators happen -- if the same rule applies > as for virtual functions, then the operator in the base > class is rightfully hidden; if not, then this is a bug. > > On the other hand, if virtual function semantics apply, > then a function similar to -Woverloaded-virtual should > exist. > In my opinion it IS a bug because the operator of the parent class has another argument. So the name resolution should detect the matching operator in the parent class as usual in C++. I think overloaded operators should behave like overloaded functions (where the same thing works!). If its not in the C++ standard I have to believe now in Java or .net ;-)