This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH] Start abstraction of C++ abi's
- To: dberlin at redhat dot com
- Subject: Re: [PATCH] Start abstraction of C++ abi's
- From: Michael Elizabeth Chastain <chastain at cygnus dot com>
- Date: Mon, 19 Feb 2001 15:29:40 -0800
- Cc: ac131313 at cygnus dot com, gdb-patches at sources dot redhat dot com
Hi Daniel,
> (Just a note, Remember, we don't support more than the v2 abi and HP
> aCC's API right now. We can demangle the names of other ABI's, but we
> can't do things like virtual function finding.)
Yes, thanks. I keep conflating "name mangling" with the whole ABI.
> So i'm faced with either adding another if block to all these
> functions, or abstracting them properly so the function you call is
> the same, no matter what the underlying C++ abi is. The second made
> more sense, and would contribute more to gdb than the first.
I"m convinced that the current "if block" style is already too hairy to
maintain as is, let alone add v3 g++. I'm looking at test scripts with
junk like this:
# gdb.c++/inherit.exp
...
# Print all members of g_D.
# The following is ambiguous, and gdb should detect this.
# For now, accept gdb's behavior as an expected failure if it
# simply prints either member correctly.
if {!$hp_aCC_compiler} {setup_xfail "*-*-*"}
The last sentence of the comment is a lie. This test might pass, or it
might XFAIL, but as long as gdb prints the next prompt, this test will
never FAIL! A lot of interesting tests are XFAIL'ed like this.
chastain> I would like to see before-and-after test suite runs on two
chastain> different platforms with both v2 and v3 g++, and maybe hpux aCC.
chastain> That's a lot of testing but this kind of change is prone to
chastain> regression errors.
berlin> Therefore, since I moved all of the v2 code from other places, it's
berlin> provably equivalent right now.
Mistakes happen. Remember lookup_block_symbol. We're often working at
the edge of complexity. That's our job ...
If you need a test suite drone at some point, I volunteer.
Michael