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
next prev parent 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