Debugger: Fix display of multiple inheritance from std::list

Task-number: QTCREATORBUG-11023

Change-Id: Ia195ff84f7928615b0df5732c6f1a1cd8b401001
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
This commit is contained in:
hjk
2013-12-15 12:46:31 +01:00
parent 509426f721
commit 869c46a02b
2 changed files with 12 additions and 1 deletions

View File

@@ -92,9 +92,9 @@ def qdump__std____debug__deque(d, value):
def qdump__std__list(d, value):
head = d.dereferenceValue(value)
impl = value["_M_impl"]
node = impl["_M_node"]
head = d.addressOf(node)
size = 0
pp = d.dereference(head)
while head != pp and size <= 1001:

View File

@@ -5094,6 +5094,17 @@ void tst_Dumpers::dumper_data()
% Check("u32", "68", "uint32_t")
% Check("s32", "69", "int32_t");
QTest::newRow("stdlist2")
<< Data("#include <list>\n"
"struct Base { virtual ~Base() {} };\n"
"template<class T>\n"
"struct Derived : public std::list<T>, Base {};\n",
"Derived<int> l;\n"
"l.push_back(1);\n"
"l.push_back(2);\n")
% Check("l.@1.0", "[0]", "1", "int")
% Check("l.@1.1", "[1]", "2", "int");
}
int main(int argc, char *argv[])