[PATCH] New C++ abstraction patch

Michael Elizabeth Chastain chastain@cygnus.com
Wed Feb 21 07:43:00 GMT 2001


> I think the right thing is to do "^_Z.*[1-9][a-zA-Z_][a-zA-Z0-9_]+D[0-2]Ev$",
> since the class name always comes right before the destructor.

I like the ^Z part.  I thought the [1-9] should be [1-9]+, but then I
realized that the ".*" in front of it takes care of classes that are
longer than 9 characters.

The [a-zA-Z_][a-zA-Z0-9_]+ does not accept 1-character classes.  How about
[a-zA-Z_][a-zA-Z0-9_]*.

GNU C++ has an "-fdollars-in-identifiers" flag, so you have to accept '$'
as an alphabetic character.

  ^_Z.*[1-9][a-zA-Z_$][a-zA-Z0-9_$]*D[0-2]Ev$

> Otherwise, i'll look at cleaning up the ternary search tree stuff for
> demangled names and submitting it.

Watch out -- dependency creep.

If it were me, I would go ahead with the v3 abi stuff and get something
in with an r.e. that works most of the time.  Today's gdb works 0%
of the time in this case.  Then pick up the ternary search trees as a
separate project.  But that's just me.

(I read up on ternary search trees last night.  They look like an awesome
data type to replace the hash tables.)

Michael



More information about the Gdb-patches mailing list