From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15958 invoked by alias); 21 Mar 2002 08:26:01 -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 15918 invoked by uid 71); 21 Mar 2002 08:26:01 -0000 Date: Thu, 21 Mar 2002 00:26:00 -0000 Message-ID: <20020321082601.15915.qmail@sources.redhat.com> To: jason@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Gabriel Dos Reis Subject: Re: c++/3230: False warning for 'returning reference to temporary' Reply-To: Gabriel Dos Reis X-SW-Source: 2002-03/txt/msg00786.txt.bz2 List-Id: The following reply was made to PR c++/3230; it has been noted by GNATS. From: Gabriel Dos Reis To: jason@gcc.gnu.org Cc: andrewp@andypo.net, gcc-bugs@gcc.gnu.org, gdr@gcc.gnu.org, gcc-gnats@gcc.gnu.org Subject: Re: c++/3230: False warning for 'returning reference to temporary' Date: 21 Mar 2002 09:17:51 +0100 jason@gcc.gnu.org writes: | Synopsis: False warning for 'returning reference to temporary' | | Responsible-Changed-From-To: gdr->jason | Responsible-Changed-By: jason | Responsible-Changed-When: Mon Mar 18 06:02:19 2002 | Responsible-Changed-Why: | mine | State-Changed-From-To: analyzed->closed | State-Changed-By: jason | State-Changed-When: Mon Mar 18 06:02:19 2002 | State-Changed-Why: | This is not a bug in the compiler. The standard (5.16) says that the result of your ?: expression is an rvalue, because the two options do not have the same type. As a result, the return value binds to that rvalue, which is a local temporary. The EDG compiler gives the same warning. OK. | You may feel that this is a bug in the standard, and I'd be | inclined to agree. But until the standard is fixed, the compiler will | continue to work this way. I'll raise the issue on the core group refelector. -- Gaby