From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24221 invoked by alias); 15 May 2003 11:27:14 -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 23758 invoked by uid 71); 15 May 2003 11:26:25 -0000 Date: Thu, 15 May 2003 11:27:00 -0000 Message-ID: <20030515112625.23757.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Nathan Sidwell Subject: Re: c++/3518: [2003-05-03] default conversion applied too soon Reply-To: Nathan Sidwell X-SW-Source: 2003-05/txt/msg01785.txt.bz2 List-Id: The following reply was made to PR c++/3518; it has been noted by GNATS. From: Nathan Sidwell To: giovannibajo@libero.it, gcc-bugs@gcc.gnu.org, nathan@codesourcery.com, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Cc: Subject: Re: c++/3518: [2003-05-03] default conversion applied too soon Date: Thu, 15 May 2003 12:23:46 +0100 giovannibajo@libero.it wrote: > Old Synopsis: [2003-01-02] default conversion applied too soon > New Synopsis: [2003-05-03] default conversion applied too soon > > State-Changed-From-To: analyzed->feedback > State-Changed-By: bajo > State-Changed-When: Thu May 15 11:00:10 2003 > State-Changed-Why: > Nathan, I see what you are saying but I think the code is > still legal. The applicable ctor is attempting to create > a const qualified _reference_ to function type, which is > a valid type. In fact, other compilers like Comeau/EDG > instanciate the constructor with [T = void(void)]. > GCC compiles the code, but applies the default conversion > too soon, so instanciates the template with [T = (void)(*)(void)] > which is wrong. If you agree, we can rework a code snippet > which fails if T is a function pointer so that we can > properly detect the bug. sure. Thre are two other issues that gcc might not have got right then. 1) you can ignore the cv qualifier on a reference when that reference is introduced by a typedef or template type parm 2) DR 295 made the same change for function types nathan -- Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC The voices in my head said this was stupid too nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk