Debugger: Show FORTRAN strings

Fixes: QTCREATORBUG-22976
Change-Id: Ib435b2692301fe2e2d3378623e99bbcf16e27e46
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2019-09-20 15:45:11 +02:00
parent 54e3d06c5e
commit 89a36c7232
2 changed files with 37 additions and 2 deletions

View File

@@ -2837,8 +2837,8 @@ class DumperBase:
return
if typeobj.code == TypeCodeFortranString:
data = self.value.data()
self.putValue(data, 'latin1', 1)
self.putValue(self.hexencode(value.data()), 'latin1')
self.putNumChild(0)
self.putType(typeobj)
if typeName.endswith('[]'):

View File

@@ -7262,6 +7262,41 @@ void tst_Dumpers::dumper_data()
+ Check("f1", "1", "@QSqlField (qlonglong)")
+ Check("f2", "\"qt-logo.png\"", "@QSqlField (QString)")
+ Check("f3", "(invalid)", "@QSqlField (invalid)");
Data f90data;
f90data.configTest = "which f95";
f90data.allProfile =
"CONFIG -= qt\n"
"SOURCES += main.f90\n"
"# Prevents linking\n"
"TARGET=\n"
"# Overwrites qmake-generated 'all' target.\n"
"all.commands = f95 -g -o doit main.f90\n"
"all.depends = main.f90\n"
"all.CONFIG = phony\n\n"
"QMAKE_EXTRA_TARGETS += all\n";
f90data.allCode =
"program test_fortran\n\n"
" implicit none\n\n"
" character(8) :: c8\n"
" integer(8) :: i8\n\n"
" i8 = 1337\n"
" c8 = 'c_____a_'\n"
" ! write (*,*) c8\n"
" i8 = i8 / 0\n"
"end program\n";
f90data.mainFile = "main.f90";
QTest::newRow("F90")
<< f90data
+ GdbEngine
+ Check("c8", "\"c_____a_\"", "character *8")
+ Check("i8", "1337", "integer(kind=8)");
#if 0
#ifdef Q_OS_LINUX
// Hint: To open a failing test in Creator, do: