Try and improve the parsing of C++ stabs that contain :: sequences. This
patch attempts to follow the same rules that gdb uses and is based on the
fact that there appear to be three places where :: can appear:

  - In the name of a undefined struct/union/enum after an x type
    marker. In this case we follow a simplified version of the old
    rules and only allow :: inside <> characters.

  - In a method name. These are mangled so :: will never appear as
    part of the name but will always occurs as the terminator. We
    handle this by stopping at the first :: sequence.

  - In a symbol/type name. This can include :: but can only be ended
    by a single colon so we simply carry on until we see that.

I suspect this will resolve a number of bugs but I'm still waiting for
the submitters to confirm exactly which ones it resolves.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2981 a5019735-40e9-0310-863c-91ae7b9d1cf9
1 file changed