forked from qt-creator/qt-creator
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:
@@ -92,9 +92,9 @@ def qdump__std____debug__deque(d, value):
|
|||||||
|
|
||||||
|
|
||||||
def qdump__std__list(d, value):
|
def qdump__std__list(d, value):
|
||||||
head = d.dereferenceValue(value)
|
|
||||||
impl = value["_M_impl"]
|
impl = value["_M_impl"]
|
||||||
node = impl["_M_node"]
|
node = impl["_M_node"]
|
||||||
|
head = d.addressOf(node)
|
||||||
size = 0
|
size = 0
|
||||||
pp = d.dereference(head)
|
pp = d.dereference(head)
|
||||||
while head != pp and size <= 1001:
|
while head != pp and size <= 1001:
|
||||||
|
@@ -5094,6 +5094,17 @@ void tst_Dumpers::dumper_data()
|
|||||||
% Check("u32", "68", "uint32_t")
|
% Check("u32", "68", "uint32_t")
|
||||||
% Check("s32", "69", "int32_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[])
|
int main(int argc, char *argv[])
|
||||||
|
Reference in New Issue
Block a user