This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH] New C++ abstraction patch
- To: dberlin at redhat dot com
- Subject: Re: [PATCH] New C++ abstraction patch
- From: Michael Elizabeth Chastain <chastain at cygnus dot com>
- Date: Wed, 21 Feb 2001 07:43:00 -0800
- Cc: gdb-patches at sources dot redhat dot com
> 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