diff options
author | hjk <hjk@theqtcompany.com> | 2015-11-05 18:09:06 +0100 |
---|---|---|
committer | hjk <hjk@theqtcompany.com> | 2015-11-06 10:08:48 +0000 |
commit | f58ab8d72382bf9908c01a5f44f2e58ce86e4955 (patch) | |
tree | 6fee271ef4c7fe0c45086c049e81dc6f6a7191d2 /share/qtcreator/debugger | |
parent | 34196f510ddc81253473bbc246f1820f9cbdd70f (diff) | |
download | qt-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.py | 7 |
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) |