diff --git a/share/qtcreator/dumper/dumper.py b/share/qtcreator/dumper/dumper.py index 57635e8aaab30258abeb9903b128d26670717d65..b73601f1836a21c406625f2f86a8391ef6d2b528 100644 --- a/share/qtcreator/dumper/dumper.py +++ b/share/qtcreator/dumper/dumper.py @@ -1346,7 +1346,13 @@ class Dumper: return if type.code == TypedefCode: - self.putItem(value.cast(type.strip_typedefs())) + type = type.strip_typedefs() + # Workaround for http://sourceware.org/bugzilla/show_bug.cgi?id=13380 + if type.code == ArrayCode: + value = parseAndEvaluate("{%s}%s" % (type, value.address)) + else: + value = value.cast(type.strip_typedefs()) + self.putItem(value) self.putBetterType(typeName) return diff --git a/tests/manual/debugger/simple/simple_test_app.cpp b/tests/manual/debugger/simple/simple_test_app.cpp index ce3afcbbf9c53f0e78f813fe0cc743abcf528d2a..4680d71fc47fd205e9755ca8bf65b6a97dc2fda7 100644 --- a/tests/manual/debugger/simple/simple_test_app.cpp +++ b/tests/manual/debugger/simple/simple_test_app.cpp @@ -3651,6 +3651,22 @@ namespace cp42895 { } // namespace cp +namespace bug6465 { + + // https://bugreports.qt.nokia.com/browse/QTCREATORBUG-6465 + + void test6465() + { + typedef char Foo[20]; + Foo foo = "foo"; + char bar[20] = "baz"; + // BREAK HERE + dummyStatement(&foo, &bar); + } + +} // namespace bug6465 + + namespace varargs { void test(const char *format, ...) @@ -3814,6 +3830,7 @@ int main(int argc, char *argv[]) bug5106::test5106(); bug5184::test5184(); bug5799::test5799(); + bug6465::test6465(); application::testApplicationStart(argc, argv);