On Mon, May 31, 2010 at 1:25 PM, Mark Mitchell <m...@codesourcery.com> wrote: > Diego Novillo wrote: > >>> By switch, do you using a C++ compiler to compile everything, or that >>> some >>> components may be written only in C++ with sufficient care that they >>> can be >>> linked with other part written in C? >> >> Ideally, the former. If we cannot get consensus on that, then I guess >> we'd have to settle for the latter. > > I don't think a partial conversion strategy will be very successful. As > soon as we use C++ in tree.h, we're going to have to use it everywhere. > And, I suspect that using single inheritance in tree.h is the sort of > change that will cut down on a fair bit of casting, possibly helping us > to invalid conversions. > > That doesn't necessarily mean that we have to use lots of C++ features > everywhere. We can use the C (almost) subset of C++ if we want to in > some places. As an example, if the Fortran folks want to use C in the > Fortran front-end, then -- except to the extent required by the common > interfaces, those files could read as if they were C code. But, I think > they'd still need to be compiled with a C++ compiler because they'll > probably pull in headers that use C++ constructs. >
Yes, this is the sort of issues I have in mind. For example, I do not see how we can use C++ in tree.h without requiring other front-ends to use C++, at least for the parts that use tree.h. By components, I meant "for example, is it the case that the C++ front-end would use C++, but with sufficient care that it can be linked with the common C codes if the C front-end is not using C++?". -- Gaby