summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2014-04-09 18:29:33 +0200
committerhjk <hjk121@nokiamail.com>2014-04-10 12:19:24 +0200
commit4b4181a9cd77813f6cb2b4027332dd5747a9ad4a (patch)
tree7b50ced0c9dbe5bb39ef6b05a6462b3ae5cef0da
parent13a4f739ef7766eeb28a6f7174e2311c8dba8cf6 (diff)
downloadqt-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.py20
-rw-r--r--tests/manual/debugger/simple/simple_test_app.cpp8
-rw-r--r--tests/manual/debugger/simple/simple_test_app.pro18
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