This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Compiling GCC With a C++ Compiler (g++)
- From: Gabriel Dos Reis <gdr at cs dot tamu dot edu>
- To: Andreas Schwab <schwab at suse dot de>
- Cc: "Dave Korn" <dk at artimi dot com>,"'Phil Edwards'" <phil at codesourcery dot com>,"'Zack Weinberg'" <zack at codesourcery dot com>,"'Geoffrey Keating'" <geoffk at apple dot com>,"'Ranjit Mathew'" <rmathew at gmail dot com>, <gcc at gcc dot gnu dot org>
- Date: 13 Oct 2004 08:04:48 -0500
- Subject: Re: Compiling GCC With a C++ Compiler (g++)
- Organization: Texas A&M University, Department of Computer Science
- References: <NUTMEGgh8qWO8OsmOP00000041e@NUTMEG.CAM.ARTIMI.COM><jeoej7x73u.fsf@sykes.suse.de>
Andreas Schwab <schwab@suse.de> writes:
| "Dave Korn" <dk@artimi.com> writes:
|
| >> -----Original Message-----
| >> From: gcc-owner On Behalf Of Gabriel Dos Reis
| >> Sent: 13 October 2004 04:47
| >
| >> Phil Edwards writes:
| >>
| >> [...]
| >>
| >> | particular place. Since member init-lists aren't available
| >> for STRING_CST,
| >> | we have to cast away the const in build_string
| >>
| >> which is undefined behaviour by C rules (and C++ too).
| >
| > I'll bet alias analysis just loves it too. Wouldn't using tricks like
| > this lead to a situation in the future (if and) when there's full IPA in gcc
| > and it can't bootstrap itself reliably any more?
|
| In C you are always allowed to cast away const and write through the
| resulting lvalue as long as the underlying object is not read-only.
That is not true.
If you can a strcture with const-qualified field, you can modify any
part, except that field. (I'm talking of C here).
-- Gaby