public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Earnshaw <rearnsha@arm.com>
To: "Rupert Wood" <me@rupey.net>
Cc: gcc@gcc.gnu.org, Richard.Earnshaw@arm.com
Subject: Re: Putting C++ code into gcc front end
Date: Tue, 04 Mar 2003 12:11:00 -0000	[thread overview]
Message-ID: <200303041142.h24Bg0K28784@pc960.cambridge.arm.com> (raw)
In-Reply-To: Your message of "Tue, 04 Mar 2003 11:25:48 GMT." <616BE6A276E3714788D2AC35C40CD18D5EC842@whale.softwire.co.uk>

> (Apologies if this is what's already proposed / already refuted - only
> have time to skim gcc mail.)
> 
> Could we build the C++ compiler as a 'stage 1a', carrying over the C/Ada
> compilers from stage 1?
> 
>   * stage 1:  use cc to build xgcc, cc1 and gnat1
>   * stage 1a: use stage 1 to build cc1plus
>   * stage 2:  use 1's xgcc, cc1 and gnat1 and 1a's cc1plus to build
> stage 2
>   * stage 3:  use stage 2 to build stage 3
> 
> The only issue here is if we can link the cc-built libbackend into the
> code built with stage1 xgcc - but that's almost always true and saves us
> a back-end rebuild versus four complete stages.
> 
> Or we could make it 2a:
> 
>   * stage 1:  use cc to build xgcc, cc1 and gnat1
>   * stage 2:  use stage 1 to build xgcc, cc1 and libbackend.a
>   * stage 2a: use stage 2's output to build cc1plus
>   * stage 2b: build remainding front-ends and runtimes using stages 2 +
> 2a
>   * stage 3:  use stages 2, 2a and 2b to build stage 3
> 
> In this case it's pointless comparing the c++ frontend objects in the
> bootstrap since they were all built using stage 2's cc1 - unless you
> repeat 2a and 2b as 3a and 3b. But I don't think that's necessary.
> 

It's not as simple as this.  Any non-trivial use of c++ is likely to 
require building libstdc++ first.  Currently that isn't done until the 
bootstrap phase has completed.  Not an insurmountable problem, just a 
problem.

More interesting question is:

Could the C++ front end be modified to make it compilable with any C 
compiler (ignoring for the moment that parts of the C++ front end are now 
written in ISO c90).  That is, how many gnu extensions are used, and can 
they be easily removed?

If this could be done then (assuming the libraries could be rearranged) 
then C++ could be built during stage1 and we would have a functioning 
bootstrap model again.

  reply	other threads:[~2003-03-04 11:43 UTC|newest]

Thread overview: 134+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <616BE6A276E3714788D2AC35C40CD18DAD4FC1@whale.softwire.co.uk>
2003-03-04 11:55 ` Rupert Wood
2003-03-04 12:11   ` Richard Earnshaw [this message]
2003-03-04 12:46     ` Gabriel Dos Reis
2003-03-04 13:57       ` Olivier Galibert
2003-03-04 14:21         ` Lars Segerlund
2003-03-04 14:33         ` Richard Earnshaw
2003-03-04 14:46           ` Olivier Galibert
2003-03-04 14:53             ` Richard Earnshaw
2003-03-04 15:03               ` Gabriel Dos Reis
2003-03-04 15:11                 ` Olivier Galibert
2003-03-04 15:19                   ` Richard Earnshaw
2003-03-04 15:26                   ` Gabriel Dos Reis
2003-03-04 16:30                     ` Kaveh R. Ghazi
2003-03-04 17:17               ` Steven Bosscher
2003-03-04 17:41                 ` Phil Edwards
2003-03-04 18:37                   ` Daniel Berlin
2003-03-05 10:51                 ` Joseph S. Myers
2003-03-05 18:48                   ` Mark Mitchell
2003-03-04 17:33               ` Zack Weinberg
2003-03-04 17:53                 ` Phil Edwards
2003-03-04 20:50                   ` Geoff Keating
2003-03-04 21:01                     ` Gabriel Dos Reis
2003-03-04 22:03                       ` Geoff Keating
2003-03-04 22:49                         ` Michael Matz
2003-03-04 23:07                         ` Gareth Pearce
2003-03-05  2:13                           ` Michael S. Zick
2003-03-05  2:19                             ` Gareth Pearce
2003-03-05  0:50                         ` Diego Novillo
2003-03-04 18:26                 ` Geert Bosch
2003-03-04 21:48                 ` Michael Matz
2003-03-05  2:55       ` Mark Mitchell
2003-03-04 13:52     ` Nathan Sidwell
2003-03-04 14:22       ` Richard Earnshaw
2003-03-04 16:40         ` Nathan Sidwell
2003-03-04 18:18       ` Dale Johannesen
2003-03-04 19:25         ` Richard Earnshaw
2003-03-05 16:51         ` Marc Espie
2003-03-05 18:42           ` Dale Johannesen
2003-03-08 19:23 Robert Dewar
  -- strict thread matches above, loose matches on Subject: below --
2003-03-08 19:00 Robert Dewar
2003-03-06 20:36 Nathanael Nerode
2003-03-06 20:23 Tim Josling
2003-03-06 17:17 Joern Rennecke
2003-03-06 18:25 ` Richard Earnshaw
2003-03-07 19:04   ` Toon Moene
2003-03-05 23:03 Robert Dewar
2003-03-06  7:18 ` Gabriel Dos Reis
2003-03-06  7:53 ` Karel Gardas
2003-03-06  9:17   ` Gabriel Dos Reis
2003-03-06 17:25 ` Alexandre Oliva
2003-03-06 22:23   ` Michael Matz
2003-03-06 22:30     ` Karel Gardas
2003-03-06 22:52     ` Gabriel Dos Reis
2003-03-06 23:31       ` Michael Matz
2003-03-05 22:42 Chris Lattner
2003-03-05 21:07 Benjamin Kosnik
2003-03-05 22:18 ` Zack Weinberg
2003-03-06  9:13   ` Olivier Galibert
2003-03-06 11:08   ` Richard Earnshaw
2003-03-06 17:27   ` Alexandre Oliva
2003-03-05 16:20 Robert Dewar
2003-03-05 16:31 ` Gabriel Dos Reis
2003-03-05 18:52   ` Matt Austern
2003-03-05 21:20     ` Toon Moene
2003-03-05 21:28 ` tm_gccmail
2003-03-05 21:29   ` Fabio Alemagna
2003-03-05 22:12   ` Karel Gardas
2003-03-06 12:39     ` Andrew Haley
2003-03-06  7:58   ` Lars Segerlund
2003-03-06 11:47     ` Vladimir Merzliakov
2003-03-05  4:27 Robert Dewar
2003-03-05  7:00 ` Zack Weinberg
2003-03-05  7:57   ` Gabriel Dos Reis
2003-03-05 19:18     ` Mike Stump
2003-03-04 18:14 Nathanael Nerode
2003-03-04 18:21 ` Zack Weinberg
2003-03-04 18:28   ` Geert Bosch
2003-03-04 19:35     ` Zack Weinberg
2003-03-04 17:55 Benjamin Kosnik
2003-03-04 20:02 ` Matt Austern
2003-03-04 20:08   ` Gareth Pearce
2003-03-04 21:50 ` Michael Matz
2003-03-05  8:48   ` Lars Segerlund
2003-03-05  9:40     ` Tom Lord
2003-03-04 22:02 ` Gabriel Dos Reis
2003-03-04 17:30 Benjamin Kosnik
2003-03-04 17:29 Benjamin Kosnik
2003-03-04 16:56 Nathanael Nerode
2003-03-04 10:19 Nathanael Nerode
2003-03-04 10:23 ` Gabriel Dos Reis
2003-03-04 11:20   ` Pop Sébastian
2003-03-04 12:42     ` Gabriel Dos Reis
2003-03-04  9:53 Nathanael Nerode
2003-03-04 10:06 ` Gabriel Dos Reis
2003-03-04 11:25   ` Andreas Schwab
2003-03-04  3:06 Tom Tromey
2003-03-04  5:45 ` Gabriel Dos Reis
2003-03-05  0:54   ` Mike Stump
2003-03-04  7:01 ` Zack Weinberg
2003-03-04  7:12   ` Gabriel Dos Reis
2003-03-04  7:54     ` Zack Weinberg
2003-03-04  9:20       ` Gabriel Dos Reis
2003-03-04 17:35         ` Zack Weinberg
2003-03-04 15:05 ` Michael Matz
2003-03-04 15:06   ` Gabriel Dos Reis
2003-03-04 15:08   ` Lars Segerlund
2003-03-04 15:12     ` Gabriel Dos Reis
2003-03-04 15:33       ` Lars Segerlund
2003-03-04 15:58         ` Gabriel Dos Reis
2003-03-04 16:01         ` Olivier Galibert
2003-03-04 16:09           ` Kaveh R. Ghazi
2003-03-04 16:49             ` Nathan Sidwell
2003-03-04 17:18               ` Zack Weinberg
2003-03-04 21:46                 ` Michael Matz
2003-03-04 17:20         ` Andrew Haley
2003-03-04 17:36     ` Tom Tromey
2003-03-06 14:59       ` Fergus Henderson
2003-03-07  3:51       ` Per Bothner
2003-03-07 13:39         ` Pop Sébastian
2003-03-07 20:41           ` Neil Booth
2003-03-07 20:49             ` Per Bothner
2003-03-07 21:52             ` Geoff Keating
2003-03-07 21:57               ` Per Bothner
2003-03-07 22:55               ` Neil Booth
2003-03-07 22:57                 ` Geoff Keating
2003-03-07 23:05                   ` tm_gccmail
2003-03-07 23:24                     ` law
2003-03-07 23:07                   ` Neil Booth
2003-03-07 23:09                   ` Geert Bosch
2003-03-07 23:19                     ` Neil Booth
2003-03-08  0:37                       ` Steven Bosscher
2003-03-08  2:09                       ` Laurent Guerby
2003-03-08 15:27                 ` Toon Moene
2003-03-07 20:13         ` Joseph S. Myers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200303041142.h24Bg0K28784@pc960.cambridge.arm.com \
    --to=rearnsha@arm.com \
    --cc=Richard.Earnshaw@arm.com \
    --cc=gcc@gcc.gnu.org \
    --cc=me@rupey.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).