This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Switching implementation language to C++


On Mon, May 31, 2010 at 1:25 PM, Mark Mitchell <mark@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]