This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [PATCH] Start abstraction of C++ abi's


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]