Commit Graph

5028 Commits

Author SHA1 Message Date
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
Robert Loehning
062678a937 Squish: Add some debug logging to openDocument()
Change-Id: If34eaad1bd04a7d2409f0e00c217c7bd12add106
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-21 10:49:37 +00:00
Marco Bubke
a5e96dbd99 Clang: Work around missing file
We now generate an empty fake file.

Change-Id: I92fef2b24dce788c1d1b675b034d4b31346b80d9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-21 08:25:47 +00:00
Marco Bubke
537217288a Clang: Ignore CHeader
Because we don't now if a *.h file is a C or C++ header we provide both
as project file if a C and C++ file is present. But C++ is not readable
by C compiler. So we skip that files and hope there is no non referenced
C header, which is very very unlikely.

Change-Id: I5505713e759749c8a0738e11b70bb6b309412966
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-20 16:09:16 +00:00
Marco Bubke
58763aa996 Clang: Silence warnings
Change-Id: I63f8a85f0a352fc8f41835bd3ab1574255d4436b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-20 16:09:05 +00:00
Christian Stenger
8349242770 Squish: Adapt to changes of project wizards
Some project wizards have nowadays build system support.

Change-Id: I2d7e9ffd5be2ec74a012fa977281e032596229b5
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-02-20 14:56:38 +00:00
Nikolai Kosjar
8c90998fff CppTools/ProjectManagers: Reduce ui blocking when loading projects
${AnyProject}::updateCppCodeModel() did two potentially not that cheap
operations in the ui thread:
 (1) Querying the MimeDatabase for the mime type for the source files of
     the project. In 99.9% of the cases no files need to be read for
     this as the file extension will resolve the type. The expensiveness
     comes from the sheer number of files that can occur.
 (2) Calling compilers with the "(sub)project's compiler command line"
     to determine the macros. While the caches avoid redundant calls,
     the number of the unique compiler calls makes this still a
     ui-freezing experience.

These two operations are moved into a worker thread. For this, the
expensive compiler calls are encapsulated in thread safe lambdas
("runners") in order to keep the "mutexed" data minimal. The original
API calls of the toolchains are implemented in terms of the runners.

While adapting the project managers, remove also the calls to
setProjectLanguage(). These are redundant because all of the project
managers already set a proper value in the constructor. Also, currently
there is no need (client) to report back detection of C sources in
project parts. This also keeps CppProjectUpdater simple.

There is still room for improvement:
 * Run the compiler calls in parallel instead of sequence.
 * Ensure that the mime type for a file is determined exactly once.

Change-Id: I2efc4e132ee88e3c8f264012ec8fafe3d86c404f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-02-20 09:18:13 +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
Marco Bubke
aba09cc115 Clang: Add test for include collector
To be secure that include is only called it the definition is true.

Change-Id: I04bae9860e64206a1c6886d7cf1682a87e9f9a07
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-16 17:39:16 +00:00
Marco Bubke
1a75db12f4 Clang: Improve speed by content generation
The argument parsing has some considerable overhead. We try to avoid that
with merging all content together in one file.

Change-Id: Icf426bb5d6a5569d59c180f94c7eab66a22a251c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-16 17:39:05 +00:00
Christian Stenger
374a51b2e0 Squish: Adapt tst_WELP04 to latest Welcome page changes
Change-Id: I835bbcf3676816d92160b2eca967af4adcd3876a
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-02-16 05:42:28 +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
5094cfe019 UnitTest: Replace "included File" with "header"
Change-Id: I30799e116a794e041c833d76c6cd969ba1a428bf
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-14 13:48:17 +00: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
Robert Loehning
0115cc3103 Squish: Use cdb from Windows 10 kit
Change-Id: I7e30848f583fd767bf6ad8a4accac7df41ce9167
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-14 13:02:15 +00:00
Nikolai Kosjar
da1f1326f2 UnitTests: Remove unused function
Change-Id: I580a016ec8567505374e6fc2b0ebbba454ebc192
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-14 09:47:33 +00:00
Nikolai Kosjar
340063c624 Clang: Use Utils::TemporaryDirectory
Task-number: QTCREATORBUG-17401
Change-Id: Ibf6007455ec92b1d9fcac17e1f3b5e2af21b7438
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-02-13 15:21:04 +00:00
Christian Stenger
e03132f517 Squish: Adapt tst_WELP03 to latest Welcome page changes
Change-Id: Ia62813cf94b31a82fedb191eaf11f752d1d30bf0
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-02-13 11:58:37 +00:00
Christian Stenger
9f6f5bfee2 Squish: Adapt tst_WELP02 to latest Welcome page changes
Additionally move common used code for interacting with the
Welcome page into separate file.

Change-Id: If863ae529c7c81d095f310f0a34926b324c77fa8
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-02-13 11:58:30 +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
Christian Stenger
eb4b4d7be2 Squish: Fix iterating over debuggers
Change-Id: I6648e74f8f8e0c581a4bd4ba4b3606e3f18a5af5
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-02-10 12:16:24 +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
Marco Bubke
7f8e60b289 UnitTest: Improve linking time under linux
Change-Id: Ia1f90d0ec208535a75d187875f0969bfca65b318
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-02-09 12:34:51 +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
Christian Stenger
265890de94 Squish: Adapt tst_WELP01 to latest Welcome page changes
Change-Id: I582c536666657d56850bb344cc6ca471eb75b01e
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-02-08 13:28:01 +00:00
hjk
1f29242276 Debugger: Fix a few bogus CONFIG {+,-}= QT statements
Should be lower case, and += is not really needed.

Change-Id: If51cfcfd8e1971576fe67d3c53c8f18f416e3afe
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-02-08 11:40:46 +00:00
David Schulz
a9f446704f Debugger: Adjust python dumper for 32bit MSVC binaries
Change-Id: Ia20321da89b387d016eb7fed076002a709aae748
Reviewed-by: hjk <hjk@qt.io>
2017-02-07 09:18:23 +00:00
Nikolai Kosjar
50a07695bd CppTools: Report also C language back to project
...for Project::setProjectLanguage().

Change-Id: I77347c4597061fb48782c629d5ad6898028fee13
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-02-06 14:31:49 +00:00
Eike Ziller
6244168202 Merge remote-tracking branch 'origin/4.2'
Change-Id: Idd63494e3878dbf8811c35beb957562255d83813
2017-02-06 14:52:37 +01:00
Marco Bubke
68afbbce75 UnitTest: Fix compilation for different configurations
Change-Id: I20d4217d1c33002f7e1ac084af4b0982b2f04971
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-02-06 10:23:29 +00:00
David Schulz
2144a8c798 Debugger: Make cdb python dumper tests green
Change-Id: I3b6c57660badf14eea2a97f4ccfb3ef9aa168901
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-02-06 10:02:00 +00:00
Robert Loehning
69df8ec321 Squish: Add those from Windows 10 kit to expected debuggers
Change-Id: I5281fa5dc126a7cf1ea84592f735cb11d908b82d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-06 07:07:42 +00:00
Nikolai Kosjar
38ba61ec4f CppEditor: Rework showing/switching parse configurations
* Move the combox box for switching the parse configurations out of the
  "Additional Preprocessor Directives" dialog ('#'-button) to make it
  better visible/accessible. Also, decouple the extra preprocessor
  directives from the concrete parse context since this is not anymore
  in same dialog.
* The combo box appears only if multiple parse configurations are
  available for a file.
* The first time multiple parse configurations are detected, an info bar
  is shown that points the user to the combox box. A "Do Not Show Again"
  button is provided.
* Upon selecting an entry, the preferred parse configuration is saved as
  part of the session. The setting can be cleared with the context menu
  entry on the combo box.

Follow-up changes need to ensure that the display name and/or tooltip is
unambiguous, e.g. for qbs and cmake projects.

Change-Id: I9e9773704187291524ad7b605bfdddd83ef5b19d
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-02-03 11:58:27 +00:00
David Schulz
9ddd66437f Debugger: Fix dumper test build
QTC_LIB_DEPENDS has to be set before including qttest.pri

Change-Id: Ie455b7341a2d79d74e3bf6f9f9d39ce8a7539e6d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-03 08:10:32 +00:00
Alexandru Croitor
6bf8f85b33 Test for array of function pointers in LLDB dumper
Test checks that the dumper doesn't go through the slow "iterate
through every type defined in target" dumper path.

Done-by: Alexandru Croitor
Change-Id: I4e1aea22ea2912467635f2e62fe1f6b2aa58e897
Reviewed-by: hjk <hjk@qt.io>
2017-02-02 14:34:04 +00:00
hjk
344b9f7749 Debugger: Remove Qml dependency from dumper test on Linux/Mac
Helps building tests in restricted environments.

Change-Id: Ic12b8e011555735a6539a8aba1e9e55b321dfbc2
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-02 13:25:44 +00:00
Marco Bubke
8f93ec3020 Clang: Use PathString in more cases
Change-Id: I7bee469256a79b384bf7b8c1d5355f1df11c7b24
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-02 12:46:51 +00:00
Marco Bubke
01a96537a8 Utils: Move forward declaration of SmallString in an extra header
Change-Id: I6da1cc60d425f654a31570373eb3b4f660d5f975
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-02 12:46:44 +00:00
Marco Bubke
76713d6d26 Clang: Use " instead of <> for includes
Change-Id: Ife6ab8b89221dc336b93c1dba3804ba240c3e52e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-02 12:46:29 +00:00
Marco Bubke
5c7f49f278 Clang: Use the whole path in the IncludeCollector
Change-Id: I406f0050b0c244b6c0d1352b5889d4e65a43fa33
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-02 12:46:20 +00:00
Marco Bubke
bdfb466cd2 Utils: Add replace for characters
It is much more performant to have a overload of char instead of providing
a string all the time.

Change-Id: I1a4ed82bf056f6af0c1f91c236b3fc30afa7f5d8
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-02 12:46:14 +00:00
Robert Loehning
0fe03e90b1 Squish: Enable tst_qml_js_console again
Task-number: QTCREATORBUG-15831
Change-Id: I31dc06c39c2c038205d2512804757c4d7b3429b7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-02 10:29:47 +00:00
Robert Loehning
3dcbdb8dac Squish: Save autodetected MSVC-toolchains
Change-Id: Ib82eecbb7f4ff8e2daee95a8ed93b5327e7dff99
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-02 10:29:28 +00:00
Robert Loehning
eea9090088 Squish: Remove ancient mobile kits
Change-Id: I0bb6e2b0f61e7618a166004b418b70efa752a75f
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-02 10:29:02 +00:00