This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/7828: g++ 3.3: bad non-lvalue error (non_cast_lvalue_or_else)
- From: Pop Sébastian <pop at gauvain dot u-strasbg dot fr>
- To: austern at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 8 Oct 2002 23:56:02 -0000
- Subject: Re: c++/7828: g++ 3.3: bad non-lvalue error (non_cast_lvalue_or_else)
- Reply-to: Pop Sébastian <pop at gauvain dot u-strasbg dot fr>
The following reply was made to PR c++/7828; it has been noted by GNATS.
From: =?iso-8859-1?Q?Pop_S=E9bastian?= <pop@gauvain.u-strasbg.fr>
To: Gabriel Dos Reis <gdr@integrable-solutions.net>
Cc: austern@gcc.gnu.org, gcc-gnats@gcc.gnu.org
Subject: Re: c++/7828: g++ 3.3: bad non-lvalue error (non_cast_lvalue_or_else)
Date: Wed, 9 Oct 2002 01:51:54 +0200
On Wed, Oct 09, 2002 at 01:39:28AM +0200, Gabriel Dos Reis wrote:
> Pop Sébastian <pop@gauvain.u-strasbg.fr> writes:
>
> | I cannot reproduce the error with
> | gcc version 3.2.1 20020924 (Debian prerelease)
> |
> | nor with the last cvs:
> | version gcc 3.3 20021007 (experimental)
>
> Indeed, it was fixed by Matt -- I can't recall off hand when,
> certainly somewhere in September.
>
> -- Gaby
Maybe the following?
from gcc/ChangeLog
2002-09-13 Matt Austern <austern@apple.com>
* cp/cp-tree.h, cp/tree.c: New function non_cast_lvalue_p.
* cp/call.c: Change call-by-const-reference mechanism to use
non_cast_lvalue_p when deciding whether the create a temporary.
We need a temporary when passing, e.g. (long) x by const ref.
* testsuite/g++.dg/other/constref[12].C: New, regression tests for
passing a cast expression to a function by const reference.
I think this entry should go into cp/ChangeLog ...
Gaby could you fix that?