This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: C++ extension "cast-as-lvalues": time to deprecate?
- From: Joe Buck <jbuck at synopsys dot com>
- To: Nathan Sidwell <nathan at codesourcery dot com>
- Cc: Matt Austern <austern at apple dot com>, Gabriel Dos Reis <gdr at integrable-solutions dot net>, Giovanni Bajo <giovannibajo at libero dot it>, gcc at gcc dot gnu dot org
- Date: Fri, 9 May 2003 14:00:51 -0700
- Subject: Re: C++ extension "cast-as-lvalues": time to deprecate?
- References: <DA0D7950-8249-11D7-89EE-000393B2ABA2@apple.com> <3EBBF4AB.3010002@codesourcery.com>
On Fri, May 09, 2003 at 07:34:19PM +0100, Nathan Sidwell wrote:
> Matt Austern wrote:
>
> > We said it was deprecated in the documentation, but we never enforced
> > that with a warning. I think the schedule for removal will have to
> > look something like this:
> > - Next release: put in a warning for this extension, and allow users
> > to turn it off with a switch.
> > - The release after that: don't allow users to turn the warning off.
> > - Finally, in the next release: remove it entirely.
> >
> > I could imagine doing this over the course of two releases instead
> > of three, but two is the absolute minimum.
> Normal practice for g++ at least appears to be two, add a warning in
> release N, remove it in N+1
There's a somewhat different issue here, though: what about strictly
conforming programs that malfunction because of the extension, in a way
that is surprising to the user? Do we have to keep miscompiling them
for two more releases?