diff options
author | hjk <hjk121@nokiamail.com> | 2014-04-09 18:29:33 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-04-10 12:19:24 +0200 |
commit | 4b4181a9cd77813f6cb2b4027332dd5747a9ad4a (patch) | |
tree | 7b50ced0c9dbe5bb39ef6b05a6462b3ae5cef0da | |
parent | 13a4f739ef7766eeb28a6f7174e2311c8dba8cf6 (diff) | |
download | qt-creator-4b4181a9cd77813f6cb2b4027332dd5747a9ad4a.tar.gz |
Debugger: Handling eigen3 in manual test
Change-Id: Id3e6eddffe8d0edd7d5947c2eec03d707bd2436b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
-rw-r--r-- | share/qtcreator/debugger/misctypes.py | 20 | ||||
-rw-r--r-- | tests/manual/debugger/simple/simple_test_app.cpp | 8 | ||||
-rw-r--r-- | tests/manual/debugger/simple/simple_test_app.pro | 18 |
3 files changed, 36 insertions, 10 deletions
diff --git a/share/qtcreator/debugger/misctypes.py b/share/qtcreator/debugger/misctypes.py index f29487184f..808ce34d89 100644 --- a/share/qtcreator/debugger/misctypes.py +++ b/share/qtcreator/debugger/misctypes.py @@ -119,14 +119,20 @@ def qdump____m256i(d, value): # return "Transposed" def qdump__Eigen__Matrix(d, value): - innerType = d.templateArgument(value.type, 0) - storage = value["m_storage"] - options = d.numericTemplateArgument(value.type, 3) + listType = d.directBaseClass(value.type) + d.putItem(value.cast(listType)) + d.putBetterType(value.type) + +def qdump__Eigen__PlainObjectBase(d, value): + matrixType = d.templateArgument(value.type, 0) + innerType = d.templateArgument(matrixType, 0) + options = d.numericTemplateArgument(matrixType, 3) rowMajor = (int(options) & 0x1) - argRow = d.numericTemplateArgument(value.type, 1) - argCol = d.numericTemplateArgument(value.type, 2) - nrows = value["m_storage"]["m_rows"] if argRow == -1 else int(argRow) - ncols = value["m_storage"]["m_cols"] if argCol == -1 else int(argCol) + argRow = d.numericTemplateArgument(matrixType, 1) + argCol = d.numericTemplateArgument(matrixType, 2) + storage = value["m_storage"] + nrows = toInteger(storage["m_rows"] if argRow == -1 else argRow) + ncols = toInteger(storage["m_cols"] if argCol == -1 else argCol) p = storage["m_data"] if d.isStructType(p.type): # Static p = p["array"].cast(innerType.pointer()) diff --git a/tests/manual/debugger/simple/simple_test_app.cpp b/tests/manual/debugger/simple/simple_test_app.cpp index a58a60f647..1b508f7901 100644 --- a/tests/manual/debugger/simple/simple_test_app.cpp +++ b/tests/manual/debugger/simple/simple_test_app.cpp @@ -108,7 +108,11 @@ #define USE_PRIVATE 1 #endif -#ifdef HAS_EIGEN +#ifdef HAS_EIGEN2 +#define USE_EIGEN 1 +#endif + +#ifdef HAS_EIGEN3 #define USE_EIGEN 1 #endif @@ -231,7 +235,7 @@ void dummyStatement(...) {} #endif #if USE_EIGEN -#include <eigen2/Eigen/Core> +#include <Eigen/Core> #endif #if USE_PRIVATE diff --git a/tests/manual/debugger/simple/simple_test_app.pro b/tests/manual/debugger/simple/simple_test_app.pro index f9461ef3d4..a4120e034a 100644 --- a/tests/manual/debugger/simple/simple_test_app.pro +++ b/tests/manual/debugger/simple/simple_test_app.pro @@ -44,7 +44,23 @@ maemo5 { exists($$QMAKE_INCDIR_QT/QtCore/private/qobject_p.h):DEFINES += HAS_PRIVATE exists(/usr/include/boost/optional.hpp): DEFINES += HAS_BOOST -exists(/usr/include/eigen2/Eigen/Core): DEFINES += HAS_EIGEN + +exists(/usr/include/eigen2/Eigen/Core) { + DEFINES += HAS_EIGEN2 + INCLUDEPATH += /usr/include/eigen2 +} +exists(/usr/include/eigen3/Eigen/Core) { + DEFINES += HAS_EIGEN3 + INCLUDEPATH += /usr/include/eigen3 +} +exists(/usr/local/include/eigen2/Eigen/Core) { + DEFINES += HAS_EIGEN2 + INCLUDEPATH += /usr/local/include/eigen2 +} +exists(/usr/local/include/eigen3/Eigen/Core) { + DEFINES += HAS_EIGEN3 + INCLUDEPATH += /usr/local/include/eigen3 +} win32-msvc*:DEFINES += _CRT_SECURE_NO_WARNINGS # Use for semi-automated testing |