Commit Graph

1332 Commits

Author SHA1 Message Date
Tim Jenssen
0be200e44e improve code
Change-Id: I06c7274c39f7e369d4cd9bed0c1ef77e4bc08b35
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-11-12 12:22:15 +00:00
Nikolai Kosjar
b895dfa382 Clang/ClangTools: Separate custom diagnostic configs
Add a separate pool of custom diagnostic configs for the
ClangTools plugin. That is, the diagnostic configs in

  Menu: Tools > C++ > Code Model

are not shared anymore with the configs at

  Menu: Tools > Analyzer > ClangTools

On plugin initialization of ClangTools, move tidy/clazy related configs
to ClangTools.

Change-Id: Id06087a58b53e466a3d7bbac669550c5fbe9899d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-10-01 14:10:28 +00:00
Eike Ziller
8452264a18 CppTools: Move QtVersion and BuildTargetType
QtVersion to utils/cpplanguage_details.h which already contains similar
flags.

BuildTargetType to ProjectExplorer, next to BuildTargetInfo (but not in the
same header to not pull that in everywhere).

Removes dependency on ProjectPart from RawProjectPart.

Change-Id: I5791065e4266f20c2657ee4b1b594df04b238a1c
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-09-10 07:31:21 +00:00
Sona Kurazyan
8e31932c29 Remove usages of deprecated APIs of QLayout
Replaced:
  QLayout::setMargin() -> QLayout::setContentsMargins()
  QLayout::margin() -> QLayout::getContentsMargins()

Task-number: QTBUG-76491
Change-Id: If28ef6910b3afe5d04e4746b74f9362a3e3b3c8e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-09-02 13:01:07 +00:00
Eike Ziller
cc47a525f1 Remove some unused QDesktopWidget includes
Change-Id: Ie369124e2202a79261d08ce9c756499acd552ac9
Reviewed-by: hjk <hjk@qt.io>
2019-08-05 10:37:58 +00:00
hjk
e3b1106afa Compile fix with recent Qt dev
The reasoning in 1b4766e26c did not take into account that the scope
of QT_NO_JAVA_STYLE_ITERATORS may change over time, as done with
f70905448f6 in Qt base.

Change-Id: Ib1966ff26c4d36d5f62e149d6b45baa4aecf825d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-07-29 08:54:18 +00:00
hjk
7ab6783e24 Standardize on int for line and column values
Recently tons of warnings show up for presumably "problematic"
singned <-> unsigned and size conversions.

The Qt side uses 'int', and that's the biggest 'integration surface'
for us, so instead of establishing some internal boundary between
signed and unsigned areas, push that boundary out of creator core code,
and use 'int' everywhere.

Because it reduces friction further, also do it in libcplusplus.

Change-Id: I84f3b79852c8029713e7ea6f133ffb9ef7030a70
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-07-26 09:23:48 +00:00
Eike Ziller
8e376ab340 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	src/plugins/baremetal/iarewtoolchain.cpp

Change-Id: I483e81d7e920e724fb7cde84a8f6fa9bce4cd518
2019-07-25 09:38:09 +02:00
Andre Hartmann
a7bf0c0ea1 GenericProposalModel: Rename PrefixMatch to ProposalMatch
Change-Id: I70e583d489f27b2dad1b9ab874091e638bbaff1f
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-07-25 06:53:16 +00:00
Nikolai Kosjar
0e49fc2d16 Clang: Remove unused function
Amends 9ded17fce086339aabe942585187c4157532fa89.

Change-Id: I96bc82c08d1e608cc743ee581111a4b3b71395a2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-24 10:03:49 +00:00
Nikolai Kosjar
1a4063ef8c Clang: Tests: Remove invalid tests
Also, some use cases are already covered in unittests.

Change-Id: I1b1351670509f1d004738a9c0dc8e858cfa6167b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-07-24 08:58:11 +00:00
hjk
251287f0d3 Avoid warning on empty expressions
For some reason, Q_UNUSED includes already a semicolon, adding one
on the user side creates an additional empty statement.

Change-Id: I9c5e8fac381345a60792cb75e2938fd53958d3b0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-23 11:55:59 +00:00
Eike Ziller
4ce34fd90f Merge remote-tracking branch 'origin/4.10'
Change-Id: I88a6704fb8d723a3cbdfb1a2d9c84741f30d4da6
2019-07-22 09:34:47 +02:00
Nikolai Kosjar
56337478e7 Clang: Tests: Fix flaky testCompleteProjectDependingCodeAfterChangingProject
After changing the project, ensure that the project part is updated and
thus the backend is notified about it, otherwise we run into a race
condition.

Change-Id: Iea1ff16156350d10982cfd7fac3e8e5220eb4726
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-18 11:47:25 +00:00
Tim Jenssen
333b33edbe Merge remote-tracking branch 'origin/4.10'
Change-Id: Iaf27911e4e9fb762c1a24c84c458462bafe95728
2019-07-12 15:53:56 +02:00
Nikolai Kosjar
2aa067f28e Clang: Fix adding snippets after opening brace
The regression was introduced by

    commit 82d6d20acb
    Clang: Do not show completions after comma in initializer list

This fixes ClangCodeCompletionTest::testCompleteGlobals().

Change-Id: Ic126f1e3eaed158196268e3682ff32bc02deb7b9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-10 07:56:48 +00:00
hjk
9ae2794114 Remove more deprecation warnings
Change-Id: Ie50e41737a4bf7bea41f550df7cc765267e8a144
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-05 12:51:17 +00:00
hjk
801ad1e869 ClangCodeModel: Avoid warnings on deprecated use of QTime
Change-Id: Ia1d07367ad85b78201ed7553d9cfb02c1bd31ae0
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-07-05 10:49:15 +00:00
Tim Jenssen
1df6443d4a Merge remote-tracking branch 'origin/4.10'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/libs/utils/synchronousprocess.cpp
	src/plugins/baremetal/iarewtoolchain.cpp
	src/plugins/cmakeprojectmanager/cmakeproject.cpp
	tests/unit/unittest/CMakeLists.txt

Change-Id: I124ad492df403286751e175d27fe36487ddf6d07
2019-07-04 15:17:55 +02:00
Nikolai Kosjar
6f6949125a Clang: Fix typo in function name
Change-Id: I8beb948071c0f33b664d05a5ce3a9390ebeeff11
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-07-03 14:55:06 +00:00
hjk
b9d6721be8 ProjectExplorer: Reduce ProjectExplorer::configureAsExampleProject()
... to the bits that are actually used.

Change-Id: I39a6ed1f4136d75b776bb89eec6165479097a4ec
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-07-01 10:05:19 +00:00
Eike Ziller
10098b2508 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	CMakeLists.txt
	tests/unit/unittest/unittest.pro

Change-Id: I64296ad31502d9b35012da129a28e9277e9fcf8e
2019-06-28 12:50:03 +02:00
Leena Miettinen
26d618024c Clang Code Model: Fix product name capitalization in UI text
Change-Id: I81d7e411d47e64d5304f30ca295c3f4b1f0d51b5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-06-25 06:50:02 +00:00
Marco Bubke
4bae5de36b Enable macro editing for the Clang indexer
Refactor much of the code from Environment* classes to NameValue* classes
to share it with the preprocessor macro settings.

Change-Id: Ica4ee817aa338230c422b30d91240d266248d226
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-13 16:51:48 +00:00
hjk
473a741c9f Utils: Rename FileName to FilePath
More in line with QFileInfo terminonlogy which appears to be
best-of-breed within Qt.

Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-28 12:23:26 +00:00
Nikolai Kosjar
3b05eb88bd Clang: Fix applying override declarations
Since https://reviews.llvm.org/D50898 (clang-8) libclang provides
override declarations when completing code in derived class scopes.

Applying such a completion item appended "()" and resulted in invalid
code, which is fixed with this change - the semicolon is inserted
instead now.

Change-Id: If2a04c5c719f62b98874f083a97445cd4e1db07d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-28 07:35:21 +00:00
Eike Ziller
e0b0a08e50 ExtensionSystem: Move away from QList
Qt 6 API will move away from it.
Use QVector for API and some std container for internal things.

Change-Id: Iff14d48a47d5ac52ade875d9c8c84ad8a4f577d8
Reviewed-by: hjk <hjk@qt.io>
2019-05-27 14:21:00 +00:00
hjk
19e1cf1520 Replace uses of qVariantFromValue with QVariant::fromValue
Deprecated in Qt 5.14, alternative has been around since Qt 4 at least.

Change-Id: I4e3a53c289088368609e0d0ce2405a832d311308
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-05-27 12:33:29 +00:00
David Schulz
cf30c12624 TextEditor: make the format of completion item detail text adjustable
Instead of always assuming content in the form of rich text allow each
item individually to define it's text format for the detail text that is
shown as a tooltip of a completion item.

Fixes: QTCREATORBUG-22429
Change-Id: I9fa71373a743c26fa06d48acc5f0509584830ca0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-05-23 11:42:49 +00:00
Eike Ziller
6fb9bf453f CMake build: Add ability to disable building of individual plugins
Adds a cache entry "BUILD_PLUGIN_${NAME}", defaulting to ON which
can be set to OFF to disable building of a plugin.

Adds a extend_qtc_plugin function that should be used to add
properties to a plugin after add_qtc_plugin, instead of the
standard CMake functions target_... . The new function results
in a no-op if the plugin was disabled.

Change-Id: I57f6799620aea0aaa8b56acead4815ccced95911
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-05-23 11:13:21 +00:00
Nikolai Kosjar
975173af11 CodeAssist: Ensure perfect match for keywords
...as otherwise the completion windows stays open and gets in the way.

Fixes: QTCREATORBUG-21767
Change-Id: Ib0a841b9d9de52109439f067c466478744361814
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-05-23 08:08:30 +00:00
Cristian Adam
d855b84c5d Qt Creator CMake port
Based on Tobias Hunger's work from a few months ago.

The CMake configuration needs libclang and Qt paths specified as
CMAKE_PREFIX_PATH.

Auto tests are run with "ctest". At the moment the pass rate is 87%.

Change-Id: Iba98e39bf22077d52706dce6c85986be67a6eab0
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-05-17 13:33:28 +00:00
Ivan Donchevskii
53c407bc0c Clang: Fix build with clang-8
Clang-Tidy checks and Clazy flags updated.
CLANG-UPGRADE-CHECK done.

Change-Id: I1ca585c5c3c77a7f183719df9c262603150914e8
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-04-17 12:13:36 +00:00
Marco Bubke
56b01f7463 Clang: Minimize reindexing
We optimal indexer is only reindexing if the index would be changed. This
patch is a step in that direction. We only reindex now if the file or
project has changed. It fixes some typos too.

Task-number: QTCREATORBUG-21150
Change-Id: I6ea1c13282fbcd70253b9b2939aed37580dbd160
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2019-04-02 13:08:44 +00:00
Christian Kandeler
3a58c4652e Compilation database: Add information to message pane
We must tell users where we generated the file, and also inform them
about errors.

Change-Id: I6383655e2f731f41b9121b2a6a31bba551d1c1de
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2019-03-15 09:55:21 +00:00
Ivan Donchevskii
ec9d35f237 CompilationDatabase: Show the progress bar while generating
Change-Id: Ie8df9257f92a9dba110847fda2783c6090a23fdf
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-03-15 08:08:08 +00:00
Eike Ziller
c53ccceff1 Merge remote-tracking branch 'origin/4.9'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/plugins/debugger/debuggerkitinformation.cpp
	src/plugins/languageclient/languageclientmanager.cpp
	src/plugins/plugins.pro
	src/plugins/projectexplorer/kit.cpp
	src/plugins/projectexplorer/kitmanager.cpp

Change-Id: I66fb941202991f35f7d7761430b21e42dfc678a8
2019-03-14 15:51:15 +01:00
Ivan Donchevskii
d2154e6c40 Clang: Save compilation database to the build directory
For example CMake puts compile_commands.json into the build
directory and it makes sense because it uses some target-specific
command line options.

Change-Id: I92a5b391f35e3f75bbcf41b8efff448f197895bb
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-03-14 07:36:38 +00:00
Ivan Donchevskii
a0072afd49 Clang: Improve compilation database generation
Do not use CompilerOptionsBuilder anymore because we don't
need much tweaking for projectPart data and can do it better
specifically for the generator.

Fixes: QTCREATORBUG-21936
Change-Id: I00ad872c703598a9a88af29399b428520dd5cb3b
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-03-13 13:17:05 +00:00
Ivan Donchevskii
82d6d20acb Clang: Do not show completions after comma in initializer list
Appends 0852f889d1.

Do not automatically show global completion when initializer list
does not have a type, e.g. auto foo = {{},<cursor>};

Change-Id: I233fef71c60bb79211000df70bf5b04fa2d9df37
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-03-12 14:20:36 +00:00
Ivan Donchevskii
0852f889d1 Clang: Do not show global completions after comma
Handle the case when we try to show the function hint but
do not find any completion. Do not fall back to the normal
code completion in such case.

Fixes: QTCREATORBUG-21624
Change-Id: I147d71b8970c18d49947f68786347a9db97736bb
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-03-11 11:33:22 +00:00
Orgad Shaneh
cbfc6e522d Merge remote-tracking branch 'origin/4.9'
Change-Id: I801042a53ae4d02d1891ea582ca9ea89b00d3181
2019-03-01 13:06:57 +02:00
Eike Ziller
eeaa02bc27 Merge remote-tracking branch 'origin/4.8' into 4.9
Conflicts:
	src/plugins/android/androidbuildapkstep.cpp

Change-Id: Id6dfda480c23706089ab38aa6277cd37599b5167
2019-02-28 12:39:09 +01:00
hjk
6f37348b4c Replace static_casts by QOverload where possible
Mainly to get rid of the QProcess::finished deprecation warning.

Also adjust coding style in the surrounding connects when needed.

Change-Id: I12f9b248c7974b892c4a069356e578e80f8c59e9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-02-26 15:18:14 +00:00
Ivan Donchevskii
0a3aa12962 Clang: Follow symbol with Ctrl+click on invalid cursors
When cursor is invalid try to follow it with built-in
code model and highlight the token in case of success.

Fixes: QTCREATORBUG-21637
Change-Id: I4c765882817fa150a155074c9d71beceb5905af8
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-02-22 13:02:44 +00:00
Ivan Donchevskii
97e1bc28d2 Clang: Do not assume that one of the overloads always has parameters
Fixes: QTCREATORBUG-21841
Change-Id: I5d4fc5d10cdf38d124e84952862b9aaf66888c88
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-02-22 08:05:52 +00:00
Eike Ziller
7f4c6e38bf Merge remote-tracking branch 'origin/4.9'
Change-Id: I0d3db14e583628b906d7fdeb800e004d98e52632
2019-02-20 10:05:07 +01:00
Nikolai Kosjar
4e2c3a7d72 Clang: Do not suggest to remove warning from tidy
...if the tidy configuration is read from a file.

Do not show the corresponding text mark action in this case.

Change-Id: I6114304f41e3946d4041233031a9bc83eee13bba
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2019-02-20 08:29:55 +00:00
Nikolai Kosjar
8089107927 Clang: Remove some namespace noise in clangtextmark.cpp
Change-Id: I870338821f106b1066e43b76451ed79b130e612b
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2019-02-20 08:29:49 +00:00
Kirill Burtsev
99d20280ca Clang: Fix stack-use-after-scope sanitizer error in diagnostic filter
Change-Id: I97d69caf9c7b642bef277fdfa0df80820fcdbe2f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-02-19 15:06:52 +00:00