Compiling GCC With a C++ Compiler (g++)

Gabriel Dos Reis gdr@cs.tamu.edu
Tue Oct 12 13:17:00 GMT 2004


Ranjit Mathew <rmathew@gmail.com> writes:

| Ranjit Mathew wrote:
| > The definition of tree_string is:
| > 
| >   struct tree_string GTY(())
| >   {
| >     struct tree_common common;
| >     int length;
| >     const char str[1];
| >   };
| > 
| > If the "const" is removed from above, the compilation
| > proceeds.
| 
| The "const char *pointer" -> "const char str[1]" change
| was done by geoffk as a part of fixing pch/13361.
| 
| We now want to store the string in the node itself,
| rather than merely pointing to it.
| 
| However, I still think that the "const" is
| misleading/incorrect. In build_string() in tree.c,
| we cast it to (char *) anyways before memcpy-ing the
| desired string into it.

You're right in your analysis.

| Would it be wrong to remove it? (And thus re-enable
| compiling this bit of GCC with a C++ compiler like
| g++.)

No, it would not.

-- Gaby



More information about the Gcc mailing list