From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18202 invoked by alias); 6 Jan 2004 21:10:59 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 18190 invoked by uid 48); 6 Jan 2004 21:10:59 -0000 Date: Tue, 06 Jan 2004 21:10:00 -0000 Message-ID: <20040106211059.18189.qmail@sources.redhat.com> From: "bangerth at dealii dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040106205426.13590.boris@kolpackov.net> References: <20040106205426.13590.boris@kolpackov.net> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/13590] unexpected overload resolution X-Bugzilla-Reason: CC X-SW-Source: 2004-01/txt/msg00564.txt.bz2 List-Id: ------- Additional Comments From bangerth at dealii dot org 2004-01-06 21:10 ------- I'm no expert in "using" things, but this really seems odd: ------------------ struct Node { void f (int); }; struct AN : virtual Node { using Node::f; }; struct BN : virtual Node { using Node::f; }; struct CN : virtual AN, virtual BN {}; void f () { CN n; n.f (1); } ------------------------------- With all gcc versions since 3.2 I get this: g/x> /home/bangerth/bin/gcc-3.4-pre/bin/c++ -c x.cc x.cc: In function `void f()': x.cc:17: error: request for member `f' is ambiguous x.cc:2: error: candidates are: void Node::f(int) x.cc:2: error: void Node::f(int) On the other hand, gcc2.95 and icc accept the code. I have no idea who's right, though. W. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13590