Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Daniel Berlin <dan@dberlin.org>
To: Daniel Jacobowitz <drow@mvista.com>
Cc: Jim Blandy <jimb@redhat.com>, <gdb@sources.redhat.com>,
	Benjamin Kosnik <bkoz@redhat.com>
Subject: Re: C++ nested classes, namespaces, structs, and compound statements
Date: Fri, 05 Apr 2002 23:49:00 -0000	[thread overview]
Message-ID: <Pine.LNX.4.44.0204060236110.25262-100000@dberlin.org> (raw)
In-Reply-To: <20020406013408.A4570@nevyn.them.org>

> > - How would we introduce this incrementally?
> 
> Do we want to?
> 
> No, I'm serious.  Incremental solutions are more practical to
> implement, but they will come with more baggage.  Baggage will haunt us
> for a very long time.  If we can completely handle non-minimal-symbol
> lookup in this way, that's a big win.
> 

You might be able to pull something off like i did on the 
new-typesystem-branch (which is unfinished, but quite far along. It was 
left ina  non-compiling stabs because i was in the midst of stabs fixes 
when i stopped working on it).

I modified a single type class at a time, replacing it with a compatible 
structure with the added members, then changed the functions gradually to 
fill in the extra members, then use the extra members, then not use the 
old members, then removed the old members.  Somewhere in there ,I 
created new type creation functions (one for each type class), and changed 
the symbol readers to use them when approriate.

Adding a struct environment is probably comparable in the amount of 
work/places to touch.

I can tell you that while I did succeeed in keeping a working gdb at 
all times, even with a mix of new type structures and old (which are 
completely different beasts), it was *amazingly* tedious to do it this 
way.

It's not just a matter of global search and replace, the rewriting 
required is mundane and repetitive, but a step above what simple global 
search and replace would do, so you end up doing it by hand (you'd need 
to write a pass for a source-source translator or something to do it 
automatically).

It was at least 2x the work it would have been to not do it incrementally.
But it's also less disheartening then dealing with 8 million compile 
errors at once, and trying to hunt down logic bugs after making a million 
changes.

--Dan


  reply	other threads:[~2002-04-06  7:49 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-05 20:42 Jim Blandy
2002-04-05 22:05 ` Daniel Berlin
2002-04-05 22:34 ` Daniel Jacobowitz
2002-04-05 23:49   ` Daniel Berlin [this message]
2002-04-06  7:18     ` Dan Kegel
2002-04-06  9:26     ` Gianni Mariani
2002-04-06 11:57       ` Daniel Berlin
2002-04-08 17:24       ` Jim Blandy
2002-04-08 17:03   ` Jim Blandy
2002-04-08 18:59     ` Daniel Jacobowitz
2002-04-09 18:35       ` Jim Blandy
2002-04-09 20:56         ` Daniel Jacobowitz
2002-04-12 15:08           ` Jim Blandy
2002-04-12 16:32             ` Daniel Jacobowitz
2002-04-08 17:19   ` Jim Blandy
2002-04-08 18:49     ` Daniel Jacobowitz
2002-04-10 10:31       ` Jim Blandy
2002-04-10 12:08         ` Daniel Jacobowitz
2002-04-12 13:58           ` Jim Blandy
2002-04-12 16:56             ` Daniel Jacobowitz
2002-04-16 12:08               ` Jim Blandy
2002-04-16 14:01                 ` Daniel Jacobowitz
2002-04-16 14:52               ` Jim Blandy
2002-04-16 14:58                 ` Daniel Jacobowitz
2002-04-06  6:31 ` Andrew Cagney
2002-04-06  7:58   ` Daniel Berlin
2002-04-08  0:59   ` Joel Brobecker
2002-04-08  2:01     ` Doubt in GDB SathisKanna k
2002-04-06  8:49 ` C++ nested classes, namespaces, structs, and compound statements Per Bothner
2002-04-08 16:29 ` Jim Blandy
2002-04-08 16:48   ` Daniel Jacobowitz
2002-04-09  6:55   ` Petr Sorfa
2002-04-10 10:34     ` Jim Blandy
2002-04-10 12:31       ` Daniel Berlin
2002-04-10 12:53         ` Petr Sorfa
2002-04-05 22:02 Michael Elizabeth Chastain
2002-04-05 22:13 ` Daniel Berlin
2002-04-05 22:30   ` Daniel Berlin

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=Pine.LNX.4.44.0204060236110.25262-100000@dberlin.org \
    --to=dan@dberlin.org \
    --cc=bkoz@redhat.com \
    --cc=drow@mvista.com \
    --cc=gdb@sources.redhat.com \
    --cc=jimb@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