public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Neil Booth <neil@daikokuya.co.uk>
To: Geoff Keating <geoffk@geoffk.org>
Cc: Per Bothner <per@bothner.com>,
	tromey@redhat.com, GCC Hackers <gcc@gcc.gnu.org>
Subject: Re: Putting C++ code into gcc front end
Date: Fri, 07 Mar 2003 22:55:00 -0000	[thread overview]
Message-ID: <20030307222021.GE31657@daikokuya.co.uk> (raw)
In-Reply-To: <jmof4msxnu.fsf@desire.geoffk.org>

Geoff Keating wrote:-

> Yes, I completely agree.  In particular, we currently represent types
> and statements/expressions using trees, and I believe it's never the
> case that you can substitute one for the other (and what would that
> mean, anyway?); so why don't we have completely distinct type_tree and
> expr_tree data structures?
> 
> Of course, this has been mentioned several times before, and no-one's
> produced a patch...

I tried to do something far less ambitious: make all trees that point
to IDENTIFIER_NODEs only point to identifier nodes (and nothing else).
Believe me, that was so hard and messy I gave up.  And that's about
1% of the job.  I'm not surprised no-one's seen a patch.

It would be much easier if you didn't have to worry about 6 different
front ends for every dinky little change you make to some tree.  Or
if you had something that documented the quirks of how every field was
used by every front end.  We have nothing close to that.  It's almost
impossible to make significant changes to trees: not only do they
represent everything, but they represent everything in every goddamn
front end.  It's a really nasty situation to be in.

Every front end should have it's own representation, which should be
lowered to something common like GIMPLE that is simple, well-
documented, and yet expressive enough to be useful to everyone.  I
feel we can't make real progress any other way.  Imagine how
maintainable each front-end having its own high-level IR with real
distinct C structs and unions would be.

Neil.

  parent reply	other threads:[~2003-03-07 22:20 UTC|newest]

Thread overview: 134+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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
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 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
     [not found] <616BE6A276E3714788D2AC35C40CD18DAD4FC1@whale.softwire.co.uk>
2003-03-04 11:55 ` Rupert Wood
2003-03-04 12:11   ` Richard Earnshaw
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-04 16:56 Nathanael Nerode
2003-03-04 17:29 Benjamin Kosnik
2003-03-04 17:30 Benjamin Kosnik
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 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-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-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 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 22:42 Chris Lattner
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-06 17:17 Joern Rennecke
2003-03-06 18:25 ` Richard Earnshaw
2003-03-07 19:04   ` Toon Moene
2003-03-06 20:23 Tim Josling
2003-03-06 20:36 Nathanael Nerode
2003-03-08 19:00 Robert Dewar
2003-03-08 19:23 Robert Dewar

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=20030307222021.GE31657@daikokuya.co.uk \
    --to=neil@daikokuya.co.uk \
    --cc=gcc@gcc.gnu.org \
    --cc=geoffk@geoffk.org \
    --cc=per@bothner.com \
    --cc=tromey@redhat.com \
    /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).