summaryrefslogtreecommitdiff
path: root/share/qtcreator/debugger
diff options
context:
space:
mode:
authorhjk <hjk@theqtcompany.com>2015-11-05 18:09:06 +0100
committerhjk <hjk@theqtcompany.com>2015-11-06 10:08:48 +0000
commitf58ab8d72382bf9908c01a5f44f2e58ce86e4955 (patch)
tree6fee271ef4c7fe0c45086c049e81dc6f6a7191d2 /share/qtcreator/debugger
parent34196f510ddc81253473bbc246f1820f9cbdd70f (diff)
downloadqt-creator-f58ab8d72382bf9908c01a5f44f2e58ce86e4955.tar.gz
Debugger: Fix std::set<...>::iterator dumper for GCC 5.x and C++11
Change-Id: Icaca7da1f5ae6f958ae0fdaf217bde611d049916 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Diffstat (limited to 'share/qtcreator/debugger')
-rw-r--r--share/qtcreator/debugger/stdtypes.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/share/qtcreator/debugger/stdtypes.py b/share/qtcreator/debugger/stdtypes.py
index 089011f745..0a511000da 100644
--- a/share/qtcreator/debugger/stdtypes.py
+++ b/share/qtcreator/debugger/stdtypes.py
@@ -292,7 +292,12 @@ def stdTreeIteratorHelper(d, value):
nodeTypeName = str(value.type).replace("_Rb_tree_iterator", "_Rb_tree_node", 1)
nodeTypeName = nodeTypeName.replace("_Rb_tree_const_iterator", "_Rb_tree_node", 1)
nodeType = d.lookupType(nodeTypeName + '*')
- data = node.cast(nodeType).dereference()["_M_value_field"]
+ nnode = node.cast(nodeType).dereference()
+ try:
+ data = nnode["_M_value_field"]
+ except: # GCC 5.x, C++11.
+ data = nnode["_M_storage"] # __gnu_cxx::__aligned_membuf<T>
+ data = data.cast(d.templateArgument(data.type, 0))
first = d.childWithName(data, "first")
if first:
d.putSubItem("first", first)