From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23699 invoked by alias); 11 Apr 2003 19:16:02 -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 23673 invoked by uid 71); 11 Apr 2003 19:16:02 -0000 Resent-Date: 11 Apr 2003 19:16:02 -0000 Resent-Message-ID: <20030411191602.23672.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, lehn@mathematik.uni-ulm.de Resent-Reply-To: gcc-gnats@gcc.gnu.org, stip@mathematik.uni-ulm.de Received: (qmail 22836 invoked by uid 48); 11 Apr 2003 19:13:55 -0000 Message-Id: <20030411191355.22835.qmail@sources.redhat.com> Date: Fri, 11 Apr 2003 19:16:00 -0000 From: stip@mathematik.uni-ulm.de Reply-To: stip@mathematik.uni-ulm.de To: gcc-gnats@gcc.gnu.org Cc: lehn@mathematik.uni-ulm.de X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) X-GNATS-Notify: lehn@mathematik.uni-ulm.de Subject: c++/10380: warning about "choosing ... over ..." when there is no choice X-SW-Source: 2003-04/txt/msg00513.txt.bz2 List-Id: >Number: 10380 >Category: c++ >Synopsis: warning about "choosing ... over ..." when there is no choice >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Fri Apr 11 19:16:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: stip@mathematik.uni-ulm.de >Release: unknown-1.0 >Organization: >Environment: gcc 3.2 on Solaris 2.9 >Description: gcc produces warning about chosing one conversion operator over another in the following example where there is only one correct choice: struct A { }; struct B : public A { }; class C { public: operator A() const { return A(); } operator B() { return B(); } }; int main() { C c; A a; B b; a = c; b = c; return 0; } According to the standard IMO there is no reason to complain but the second conversion operator B() has to be chosen in both assignments. There is no way to (correctly) apply the first conversion operator, so why warning about the possibility? There is no switch to turn exactly this warning off what makes it even worse. >How-To-Repeat: g++ >Fix: >Release-Note: >Audit-Trail: >Unformatted: