This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC's statement expression extension
- To: mark at codesourcery dot com, gcc at gcc dot gnu dot org
- Subject: Re: GCC's statement expression extension
- From: Linus Torvalds <torvalds at transmeta dot com>
- Date: Sun, 30 Jul 2000 12:09:38 -0700
- Newsgroups: linux.egcs
- References: <10007280233.AA18207@vlsi1.ultra.nyu.edu>
In article <20000727192618Z.mitchell@codesourcery.com>,
Mark Mitchell <mark@codesourcery.com> wrote:
>
>I'm much more sympathetic to preserving brokenness in the compiler to
>benefit a popular program that users need (like the Linux kernel) than
>the SPEC, which is only used by the community to evaluate the
>compiler.
Note that the Linux kernel is not adevrse to change - I've disagreed
about some things in the past, but they have not been because the kernel
cannot change to accomodate a better compiler, but because I've
disagreed with the definition of "better" ;)
I do not actually think that the kernel is the "major" user of the
statement expression - I suspect there are many other users that may
even be completely unaware of this whole discussion. But assuming the
kernel _was_ one of the major users, I would still encourage the gcc
maintainers to break existing functionality if it results in a better
compiler.
I may complain if I think things are DEproving (ie I'd really think that
removing the statement expression would be a bad thing), but please
don't "preserve brokenness in the compiler" due to the Linux kernel.
I'd hate to feel that the Linux kernel was seen as an impediment for a
better compiler. Really. That would be the _last_ thing I'd want to
happen.
If making syntactic or other changes to expression statements is
required for a better compiler, I'd be all for it. Please don't
hesitate at all to add a requirement that "return" be used inside
statement expressions, for example. At least not on account of Linux.
We can easily change things like that - but having to rely on a less
powerful language would be painful.
Linus