Commit Graph

8 Commits

Author SHA1 Message Date
Christian Kandeler
7b8eafc671 Name demangler: Add missing initialization.
Change-Id: I8284707c92221560115f2b5e4428b42013094cc6
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
2012-07-30 15:01:28 +02:00
Christian Kandeler
873ed7186f Name demangler: Fix some substitution bugs.
Also try to collapse references as much as it is possible with the
current design.

Change-Id: I1de55eac2d681a36f8b77d77968c4a06d19b6fac
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
2012-07-25 11:45:53 +02:00
Christian Kandeler
94dda38664 Name demangler: Try to fix template parameter packs.
Hard to test at the moment: gcc and clang produce different manglings,
neither of which c++filt can decode.

Change-Id: Ic4ad8887a3ad76086cd8be911334dda21afa85db
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
2012-07-20 15:47:37 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00
Christian Kandeler
3afbd2f912 Debugger:Sync name demangler with specification.
The new stuff is mostly C++11 features (closures etc.).
Also fix a number of bugs uncovered along the way.
All tests succeed now, including the examples
from the specification.

Change-Id: I9b224b0dd82ad8f5b17d5f5d1809d1dea1a7a803
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
2012-07-12 14:20:52 +02:00
Christian Kandeler
889409f2cd Debugger: Name demangler improvements.
- Fix assertion macro.
- Make parse tree smaller by getting rid of nodes that serve no purpose.
- Add all examples from the ABI spec to the auto test.

Change-Id: Id63d8330e6380bfb7d56acd1d445f7b70a1f6e70
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-09 12:14:46 +02:00
Christian Kandeler
96368496dc Debugger: Refactor name demangler.
Now all the parsing logic as well as the stringification is in the tree
nodes.

Change-Id: Ie8222729c14c0102d94045026fc61a75cd31cc63
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
2012-07-06 19:55:09 +02:00
Christian Kandeler
b206feabe7 Debugger: Refactor name demangler.
So far, we converted the mangled to the demangled representation on the
fly while parsing. Because some demangled strings look different
depending on higher-level context, awkward string manipulations were
then necessary at some later point.
The new solution is much more easily maintainable, creating a tree with
a node for every rule in the grammar first and converting the complete
tree to the demangled string later.

Change-Id: I59088df259611d7cd78af47b81b6a21d628a787f
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
2012-07-06 10:20:39 +02:00