RFA: Deprecate C++ options

Tim Hollebeek tim@hollebeek.com
Thu Sep 6 15:14:00 GMT 2001


> > I'd like to deprecate and then remove them from g++ asap. I
> > suggest deprecating them in 3.1 and removal in 3.2
> >
> > Support of old ARM conformant code
> > -fno-for-scope
> > 	the for loop variable's scope extends beyond the loop
> > -fcheck-new
> > 	cope with operator new returning null, rather than throwing
> > 	The interaction of this with the builtin operator new and
> > 	-fno-exceptions confuses users.
> > -fno-operator-names
> > 	don't have `and' `or' etc as keywords
> 
> I agree.  All of these will cause minor headaches for people working
> with very old code, but all are easily fixed, and none have been
> considered correct C++ for ages, and all would simplify the compiler.

In the real world, people need to be able to compile old software.  I
propose that the lifetime of -fno-for-scope and friends be mandated to
be no shorter than that of -traditional (conservatively, let's call
that 1-2 decades).  Yes, it is a PITA for compiler developers to support
older language standards.  So be it.  At one point, that code was
considered legal, required for portability to other ARM compliant
compilers, and gcc supported it.

If people would rather combine these options into -lang=c++-arm, to
reduce the number of combinations of options that is possible, then do
that.  But don't succumb to the silly argument that it is no longer
necessary to produce a compiler that knows how to compile this
relatively recent code.  Planned obselescence is a Microsoft strategy,
not a GNU strategy.

-Tim



More information about the Gcc mailing list