Commit Graph

1950 Commits

Author SHA1 Message Date
hjk
1e9cc97220 Debugger: Improve handling of static members in shared objects
Change-Id: I4978094dc5dcd0e57bb6790cfc8476a9db77724d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-05-02 10:22:14 +00:00
hjk
f38f120031 Debugger: Add a dumper for QLazilyAllocated
Task-number: QTCREATORBUG-18060
Change-Id: I5eec7bd10f54278a1d40cf9fce97fba56f4aa2e4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-26 10:51:39 +00:00
hjk
81d9315587 Debugger: Add a boost::variant dumper
This requires making template argument extraction a bit more robust

GCC 5.4.1 created debug info only reports the first argument for
boost::variant<int, bool>:

    #include <boost/variant/variant.hpp
    int main() { boost::variant<int, float> v = 1; return 0; }

    py print(gdb.parse_and_eval('v').type)

      -> boost::variant<int, float>

    py print(gdb.parse_and_eval('v').type.template_argument(0))

      -> int

    py print(gdb.parse_and_eval('v').type.template_argument(1))

       -> Traceback (most recent call last):
          File \"<string>\", line 1, in <module>
          RuntimeError: No argument 1 in template.
          Error while executing Python code.

Change-Id: Iedca8b073078c93449ab61bb2cab05d6cd9803ba
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-26 09:23:18 +00:00
hjk
1a4531dffd Debugger: Split a long line
Change-Id: If791d45c59e4aadce0c46886e238955891b27a49
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-25 13:26:51 +00:00
hjk
758e50fa45 Debugger: Catch some exceptions related to optimized out values
These could be triggered by declared but undefined and unused
static data members.

Task-number: QTCREATORBUG-18030
Change-Id: I941e8cbe8ce18dca737e59472ed0ee19ace44072
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-04-25 07:58:13 +00:00
David Schulz
41954de06e Debugger: Fix dumper tests in wow64 env
Change-Id: Iac874ccb0c498065e1f46ebcc66a48ef721f6fff
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-24 08:42:50 +00:00
hjk
53ff0e1ca1 Debugger: Add a workaround for bad gcc debug info generation
Gcc does not write out full type names with 'using template ...', see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80466

This is in most cases harmless for Creator as dumpers are triggered
independently of template arguments. However, if the dumper takes
different code path based on the template argument type, as is
e.g. needed for std::vector<bool>, wrong results are produced,
as the type cache only used the template base name as type id.

Work around by mangling the id of the un-typedef-ed type into
the type id of a typedef, which, in case of templates contain
the full parameter list.

Change-Id: I63c59cccdc186b09ff780e9dfd57b0ad668ae98f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-20 09:15:59 +00:00
David Schulz
01b2ed7904 Auto Tests: Fix extensionsystem tests
Change-Id: Iaed08ddf5f4f93cae395bfdec1e8bff87fd8e618
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-19 06:39:37 +00:00
hjk
283bce7343 Debugger: Add a qfloat16 dumper
Change-Id: Ibc43da06c195d916296f09740a1111a2586443b8
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-04-19 06:01:18 +00:00
Montel Laurent
5d27bc747b Use QFileInfo::exists(...) which is faster that QFileInfo(..).exists
Change-Id: I0d2e61d84c74e60ef4f54074a4ca00f2d0835562
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-04-14 13:18:28 +00:00
David Schulz
ca039a6eae Debugger: Adjust dumper test after cdb output changed
Change-Id: Ic8cb64ce1af6d6a5e74ad018813fea47555b1cfb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-11 07:32:20 +00:00
Marco Benelli
d0823cd5e2 QmlJs: fix reformatting of 'signal' statements
Reformatting 'signal' preceded by comments used to bring to a bad
formatted file.

Task-number: QTCREATORBUG-17886
Change-Id: I02e093a4721cd1e75d45b498ea768251aee88ea4
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-04-07 05:32:20 +00:00
David Schulz
4e4b5833da Debugger: Fix QFlags dumper for cdb
Also adding a test covering this dumper.

Change-Id: I491dd87e52f65bf3faf21d81436f264507bf0b51
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-30 13:37:53 +00:00
Ulf Hermann
186f0f574a Timeline: Fix timelinerenderer test
The events in question are overlapping and all match the given
timestamps exactly. As we stop the search whenever we find an exact
match, the results are valid.

Change-Id: I705bfbdfe9105927588cc356e29209bf893a9ed6
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-03-29 12:03:45 +00:00
David Schulz
86edeb9722 Debugger: Use native value for pointer dereference
Change-Id: Ibde6ff382e7adc0c196837c9eba04391c0a2c3a0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-28 09:22:28 +00:00
David Schulz
7f5b37ed14 Debugger: Disable QObject property dumper test on Windows
Change-Id: Iff91a41aae9328c6e935480c5cfc2fe3643ca743
Reviewed-by: hjk <hjk@qt.io>
2017-03-28 05:38:30 +00:00
hjk
ce42e8aba5 Tests: Fix compilation with Qt 5.9
qt_qhash_seed is no longer exported

Change-Id: I78df98b7022dbe5ae9da56c3d2514b3b31a2312c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-22 14:59:08 +00:00
Christian Stenger
da03ab72af Tests: Exclude connections check for cdb
Change-Id: I1f3a1ed0bb130a7d4dc413c15c4fd32cb496a7ab
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-03-21 11:25:37 +00:00
David Schulz
f32b1d00f4 Debugger: Adjust offset for QFile dumper
Change-Id: I20704cdcdda1273cdc0df91bf963c979a1f51190
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-21 09:04:41 +00:00
hjk
fd0bf9df64 Debugger: Make QObject connections a bit better accessible
Change-Id: I5e70a61db73f89dc48efc82bc6aa4e42c44ba6d5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-16 10:12:40 +00:00
Thomas Hartmann
5e43e6c6ae QmlDesigner: Disable QML compiler for tests
Change-Id: Ia0c9a0241b5c2dd11a3a0c0f667adcdef9706191
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-03-15 10:15:06 +00:00
hjk
42c68ad7b5 Debugger: Remove libUtils dependency from some tests
libUtils nowadays depends on Qt Declarative, which is not necessarily
present in pure test setups.

Change-Id: I8c40d086186ccf047c034345126f088f53652dbb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-10 12:15:17 +00:00
Orgad Shaneh
4136e36c6f Algorithm: Add a member variant for transform
Change-Id: I329ee764cc13dd8b794c6769a2baf2f41d6a9983
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-03-10 11:37:03 +00:00
hjk
db1e1db1e2 Debugger: Remove some test code constructor
Accidentally leaving out the comma was a needless extra source of errors
shifted from compile to (test) run time.

Change-Id: I02db60b5e4648545cb869738d009b91720827f93
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-09 12:37:52 +00:00
hjk
fb213b5826 Debugger: Use a named tuple for Dumper.Field
Makes it clear that this is meant to be immutable and is supposedly
faster.

Task-number: QTCREATORBUG-17823
Change-Id: Ie5d67b793e0bc4f704981d5161efc12bcc22100a
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-09 08:20:46 +00:00
hjk
95f78f6c80 Debugger: Restrict QFixed dumper to Qt 5
Change-Id: Ic6992bf4f9160bca43ef7e71968105508bdc29f2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-07 10:14:39 +00:00
David Schulz
9d8c380b43 Test: Add corrrect Qt path to environment
Change-Id: Ie1d88ebb6b266ce7da2d45b032561883faad5ce5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-07 09:36:04 +00:00
David Schulz
707c14df18 Test: Move setupCdb to initTestCase
Change-Id: I8487d932914484db91c24e9059da77225da84906
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-07 09:35:54 +00:00
Tim Jenssen
5d159639eb QmlDesigner: remove warning
Change-Id: I253261d8fc18f856afc10d737de58da21cb7fbf0
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-03-06 13:41:07 +00:00
Christian Kandeler
36850fbfd7 gdb autotest: Fix qbs build
Change-Id: I5c3b9984fe364db179d76b277a453ec01a4a7b39
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-03-06 10:40:50 +00:00
hjk
f6715fe52b Utils: Add a ObjectPool convenience class template
The ObjectPool class template provides parts of the functionality
of the global PluginManager object pool but is intented to be
used with smaller set objects, typically with same base type (e.g.
factories) only.

The ObjectPool takes ownership of add items if and only if the item does
not have a QObject parent.

Items owned by the Object pool are destructed when the pool is
destructed, the other items are taken care of by their QObject parent
according to the usual parent/child behavior.

Change-Id: I60886095c8b04eae017e1fb56774b1bf66dbefa1
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-03-03 14:59:44 +00:00
hjk
329db5f4cc Debugger: Use ProcessHandle in notifyInferiorPid()
Change-Id: Idcb6819b64964b6aa0e72d182cc628feba37ba55
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-03-01 11:57:48 +00:00
David Schulz
aafb17ae83 Debugger: Add enum value dumper to cdbbridge
Change-Id: I40f1556599be7581eeab0c75b034696ac22a7131
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-01 10:07:49 +00:00
Eike Ziller
1704c484a8 Merge remote-tracking branch 'origin/4.2'
Change-Id: I9006dd493707ae626ae3502541599c8789e1aab0
2017-02-27 15:17:37 +01:00
Christian Stenger
a803ee062b Tests: Avoid race condition when building with multiple jobs
Change-Id: Ia5a110812694d03e6f6e02cf66b4aaf209224910
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-02-27 08:34:07 +00:00
Nikolai Kosjar
fe27f947b9 C++: Avoid inline namespaces in generated code
Task-number: QTCREATORBUG-16086
Change-Id: Ic2f3fd38ae6cc93725bc214c24320f40a0a519a8
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-02-23 14:49:31 +00:00
David Schulz
bb05b5ff11 Debugger: Pass Qt type info version to the debugger protocol
Fixes Qt 5.8 QDateTime python dumper.

Change-Id: If6fab7bf3ea63372ef01942bcaa2121eb9c2b6db
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-02-23 05:55:46 +00:00
Tim Jenssen
2631ffabd5 Remove spaces in initializer lists
Format initializer lists code style like.

Change-Id: Ib82c235e4ba7dc75ee96a7abc0c47eff7b0a9013
Reviewed-by: hjk <hjk@qt.io>
2017-02-22 16:25:09 +00:00
Nikolai Kosjar
77dbee7bdb Tests: Fix compilation of tst_dumpers.cpp
Change-Id: Icdd65a6fc510e4bdb6071ebd4314a0eff7559f4f
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-02-17 12:46:50 +00:00
David Schulz
4e16c507c1 Debugger: Restrict tests with initializer lists to MSVC 14+
Change-Id: I685909652bd7567473a2e6d09254d67e8bb51b33
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-17 11:47:13 +00:00
David Schulz
e0fd62afef Debugger: Fix compiling dumper tests without profile on windows
Change-Id: I2260678a77fde5eb0599cdec2e52f12f63cf0fcd
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-02-15 08:47:31 +00:00
Eike Ziller
58249104ad Merge "Merge remote-tracking branch 'origin/4.2'" 2017-02-14 14:38:53 +00:00
Nikolai Kosjar
93672fda2d Tests: Define SRCDIR for clang static analyzer tests only where necessary
Only the test clangstaticanalyzerlogfilereader makes use of that.

Change-Id: I5761ed023eab1b03dbb276d1798163fd2fb81e3d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-14 14:34:13 +00:00
Eike Ziller
e724934393 Merge remote-tracking branch 'origin/4.2'
Conflicts:
	doc/src/qtquick/creator-tutorial-create-qq-project.qdocinc
	doc/src/qtquick/qtquick-creating.qdoc
	doc/src/qtquick/qtquick-uiforms-tutorial.qdoc
	share/qtcreator/welcomescreen/qtcreator_tutorials.xml
	src/plugins/git/gitgrep.cpp
	src/shared/qbs

Change-Id: I6f4d168d888d9547c3af0819f79cc9ebb4186ca0
2017-02-14 15:32:04 +01:00
Nikolai Kosjar
e06030d56f Tests: Fix crashing clangstaticanalyzerrunner test
...due to a not set master temporary directory.

Change-Id: I6668209e9b724f6560331f683b63e1c41616f060
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-14 13:04:09 +00:00
Orgad Shaneh
0c9f23db96 GDB: Fix printing of flag enums
It worked with plain GDB (parse_and_eval), and was broken by
696b2d4261.

Change-Id: Ibc143efdbd90681a2f9f4d84b75063eb98078f2b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-13 08:08:41 +00:00
Orgad Shaneh
9c820101cc Debugger: Fix dumper tests
1f29242276 used the correct form for
CONFIG -= qt.

This revealed several cases that are missing CoreProfile configuration.

Change-Id: I8bb6d5156eb6beba91a8df7b948832f1e043d64f
Reviewed-by: hjk <hjk@qt.io>
2017-02-13 07:08:48 +00:00
Eike Ziller
2b94bdaa2e Tests: Fix build on macOS without command line tools installed
Overwriting QMAKE_CXXFLAGS will remove the needed isysroot flag
for finding the standard headers.
Explicitly settings the standard lib on macOS is also no longer
necessary.

Change-Id: I8a5ae5df485785b473a435c7feb9f8fb3295952b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-10 07:59:40 +00:00
hjk
af54ab960a Debugger: Add a dumper for QSqlField
Task-number: QTCREATORBUG-3905
Change-Id: I9290a9e46d7fa77417d58a3f81d4e4d680c751b6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-08 15:22:10 +00:00
Christian Stenger
2475da1bb5 Replace some more occurrences of QStringList() << pattern
Change-Id: Ic7193ac3a741763479a9ef129ed05cb7ca64f1e9
Reviewed-by: hjk <hjk@qt.io>
2017-02-08 14:27:48 +00:00