Compiling GCC with g++: a report
Mark Mitchell
mark@codesourcery.com
Tue May 24 07:04:00 GMT 2005
Zack Weinberg wrote:
> Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
>
> [...]
>
>>The cast you're talking about is buried deep in XNEWVEC, XRESIZEVEC
>>and such. It is not anything you'll find in the code directly. So,
>>in fact we do not lose readability as you claim.
>
>
> To be honest, I think XNEW* are less readable than bare xmalloc, and I
> regret that I ever invented them.
Too late. :-)
We have adopted them, and people have started using them. Unlike you, I
still think they're a good thing. More importantly, I think it would be
a mistake to reopen this issue; I don't think the difference is terribly
important, but not having the debate seems like a win. :-)
> Things I consider correct coding, but outside the intersection of C90
> and C++, include: not casting the return value of allocator functions;
See above.
> not casting to void* when passing an arbitrary pointer to a function
> that takes a void* parameter
That's not necessary in C++ either; the C++ difference is that you must
cast "void *" to "int *" to call a function accepting an "int *"; not
the opposite. Maybe that's what you meant?
> unrestricted use of C++ keywords;
>
> declaring structure fields with the same name as a structure tag in
> scope.
I don't think we should be reverting patches that fall afoul of these
last two, even if they break Gaby's build-with-a-C++-compiler builds.
But, I would tend to accept patches from Gaby to fix such problems.
--
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
(916) 791-8304
More information about the Gcc
mailing list