Commit Graph

39 Commits

Author SHA1 Message Date
Eike Ziller
baa83725f6 Remove ClangRefactoring and ClangPchManager
This removes the plugins and tools, and removes all the tests that would
fail to build because of that.

Fixes: QTCREATORBUG-25659
Change-Id: I8adb5d503fc8eea313bcaada421f309dbbfa8c26
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2021-06-15 10:07:57 +00:00
Christian Kandeler
3e2d224722 clang: Support user-provided llvm-config
... in the qmake and qbs builds. (The look-up mechanism in the cmake
build is completely different.)

Fixes: QTCREATORBUG-20592
Change-Id: I049740795108060aeada62dd030e82390e07fe48
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-15 14:56:07 +00:00
Christian Kandeler
baaccc87ba clang support: Adapt some version checks in qmake/qbs files
Change-Id: Ic1ea0e10586c5ab33f7fad87f76d742e13a55834
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-24 12:16:47 +00:00
Eike Ziller
8dff37f0d3 Disable ClangRefactoring by default
It is too unstable even for experimental status.

Change-Id: I38e483eaece00aec0211a81414c6c5a000bf283f
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-06-02 13:32:14 +00:00
Christian Kandeler
a03113832b qbs build: Make clang plugins build with libclang-cpp
Change-Id: Ifbae5f2a124e5c36126391d48b0a186bd153d678
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2020-05-26 13:09:07 +00:00
Nikolai Kosjar
f6210b3569 qbs build: Clang: Adapt llvm-config variants to check for
Change-Id: Ib961efe9b72acdfc383cade2053a4a1126e99132
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-05-22 13:21:44 +00:00
Christian Kandeler
bab97bf9b6 qbs build: Disable clang tooling plugins for llvm >= 10
They won't build with the new version.

Change-Id: I77c94817290418b0a97222465f0f8a8660053fae
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-05-05 15:32:23 +00:00
Orgad Shaneh
8827d83115 Clang: Centralize -Wno-comment for GCC
It's also needed in clangrefactoringbackend, unittest etc...

Change-Id: I9c758d52b34798d75610a4633bc7c5e7ceb0c00b
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-04-23 15:34:01 +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
Orgad Shaneh
82bf5e2906 Qbs: Enable ClangRefactoring by default
This amends commit 89e70ca785.

Change-Id: I09f7075075e2244a031e4c20496272f382ec020d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-04-11 21:50:45 +00:00
Nikolai Kosjar
61775a844e Clang: Build clangformat only if clang/Format/Format.h exists
...in the LLVM_INSTALL_DIR.

Change-Id: I974f32759bca7fb467524bf61ff7967098748f0e
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2019-02-21 09:10:03 +00:00
Nikolai Kosjar
10958d88f6 Clang: Fix detection of clang with qbs
"res" was undefined.

Amends 2379007c17.

Change-Id: I3af0e94c70fcb6b5b1b8027383e767a5d9cd8238
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-01-03 10:42:40 +00:00
Orgad Shaneh
2379007c17 Clang: Suppress GCC warning with LLVM 7.0.1
Change-Id: I6de160b42472560a3b33d9a3390b0890eabe9d44
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2018-12-19 10:54:17 +00:00
Orgad Shaneh
7c17edcce2 Clang: Strip some more warnings
Appear in pchtaskgenerator-test.cpp and builddependenciesprovider-test.cpp.

Change-Id: I4f9f2660655e0dfc1002980ae31bc09288110b2d
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2018-11-22 14:15:46 +00:00
Orgad Shaneh
91649cf274 Clang: Remove some warning flags provided by LLVM
Clang unit tests produce many warnings with GCC8 and
these flags (-Wnon-virtual-dtor, -Woverloaded-virtual).

Change-Id: I54a4c9c5b2f12da3c3898fc6f3beca0d4dfe478c
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2018-11-15 10:01:27 +00:00
Orgad Shaneh
3b30bfa35f Clang: Default to llvm-config-7
Change-Id: Id29095f378268b55430e715ec7d37f5a52159df5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2018-11-15 09:54:07 +00:00
Nikolai Kosjar
3160172b58 ClangFormat: Fix constructing libs for qbs
Assignment after concat() was missing.

Change-Id: I9a038cae6372648561a5450e9e3417c4c603ab7e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-10-16 11:06:22 +00:00
Ivan Donchevskii
e0d7d03720 Clang: Fix ClangFormat build with clang-7
Change-Id: I0859b7aad1a49f8d46ee4b32cc32039cfa0b482b
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-10-05 11:08:27 +00:00
Alexandru Croitor
9da9ed45e9 Fix qbs build of clangformat plugin
Change-Id: Ic23a34048c62ed39590ad422ea3e4f8fea9fc5a1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2018-09-25 06:03:49 +00:00
Christian Kandeler
3336baad12 Fix references to the clang code model documentation file
Was forgotten in 7ab07a4e8f.

Change-Id: I2c6d21b79658e3946eb6ecdcf7b11992c0bf865e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-08-20 11:58:18 +00:00
Ulf Hermann
9a4f0317c1 Clang: only build with LibTooling if explicitly enabled
The feature is experimental and should not be used, yet.

Change-Id: Ifb9a651dcbaade5801ac28f900030407f12dc844
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-06-27 06:57:19 +00:00
Nikolai Kosjar
319daa2612 Clang: Require LLVM/Clang >= 6.0.0
Adapt versions and tests, remove code assuming clang < 6.0.

Switch also to our custom repositories instead of dealing with patch
files.

LLVM/Clang 6 was released on 09 Mar 2018.

Task-number: QTCREATORBUG-18535
Task-number: QTCREATORBUG-18552
Change-Id: I0ec2c2f56265e161ae7cbb5b03e7b8a182ba6cc6
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-05-17 12:46:37 +00:00
Ivan Donchevskii
52ac74b61c ClangTools: Remove clang executable settings
We use custom clang executable and it does not make
sense anymore to give a choice of changing it.

Change-Id: Icf86042ac3fcd08c320ef2bbdaabef1102b023b5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2018-05-04 09:58:37 +00:00
Christian Kandeler
1838057c22 qbs build: Fix clang Probe
Due to the way JavaScript's split() function works, an empty string
could end up in the list of dynamic libraries, causing a warning when
building the pchmanagerbackend.

Change-Id: I5af834d4f98af379ee346556b47c57cabf8c98db
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2018-01-25 15:36:24 +00:00
Eike Ziller
8921888ce3 Merge remote-tracking branch 'origin/4.5' into 4.6
Conflicts:
	src/shared/qbs

Change-Id: I5314559cbf188e4c339de44052c6e0c89d3c2aa6
2018-01-22 12:46:10 +01:00
Christian Kandeler
c278c26cb6 qbs build: Fix libclang Probe for qbs > 1.10
Probe configure scripts no longer have direct access to module
instances.

Change-Id: I87c5a7dbd44633cda5740d185829cecdc2d128e6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2018-01-18 09:31:41 +00:00
Alexandru Croitor
b65c13c6a5 Improve failure message when usable libclang is not found
Change-Id: Id541206c6b284be7a1068533825c88c9352f9d7f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-01-11 13:32:37 +00:00
Nikolai Kosjar
5ba40cb7fb Clang: Require LLVM/Clang >= 5.0.0
...for the code model parts and declare 5.0 as the supported version for
the clang static analyzer.

Adapt versions and tests, remove code assuming clang <= 5.0.

LLVM/Clang 5 was released on 07 Sep 2017.

Task-number: QTCREATORBUG-18931
Task-number: QTCREATORBUG-18657
Task-number: QTCREATORBUG-17187
Task-number: QTCREATORBUG-14881
Change-Id: I53b00258ca06a1d2e57f9379dacc54b310687295
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-27 14:21:19 +00:00
Eike Ziller
7f626b1182 Merge remote-tracking branch 'origin/4.5'
Change-Id: Iceaa4ca40b5318744bde8a76c6d3ccca08df71bb
2017-10-25 16:07:21 +02:00
Christian Kandeler
3bcbcfa626 Add qbs project files for some clang-related tools and plugins
Change-Id: I4882be50c6b007715f7b281f95d111abc5cda62a
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-10-23 12:18:34 +00:00
Nikolai Kosjar
f19facd378 Clang: Add more CLANG-UPGRADE-CHECK markers
Change-Id: I9ee553f29fa7a7f60291e2d7d2a56062dc722b9d
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-10-23 11:02:18 +00:00
Christian Kandeler
a6d12177ad qbs build: Use require() instead of loadExtension()
This fixes a number of deprecation warnings. The require() function was
introduced in qbs 1.8 and is safe to use now.

Change-Id: I915a9f62f36fc64086c7dce60ea753d3e564127c
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-10-04 08:18:15 +00:00
Nikolai Kosjar
84dd43f413 qbs build: Fix passing on include dir for intrinsics of libclang
In

    commit 31258ec555
    qbs build: Introduce libclang module.

"llvmVersion" was overlooked.

Because of this, the definition of CLANG_RESOURCE_DIR in
clangcodemodel.qbs led to an invalid path which eventually was
discarded.

Change-Id: Ia1eb50cf738df4affbedc99849bf5326a8e8fb19
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-11-24 13:51:32 +00:00
Nikolai Kosjar
fd1d10987c Clang: Require LLVM >= 3.9.0
We already ship with a cherry-picked change from version 3.9.

Change-Id: Iad09ac8db470506c5de0321f3a2346c549b11b31
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-11-15 08:46:46 +00:00
Nikolai Kosjar
19e026d7db Clang: Fix using forward slashes for CLANG_RESOURCE_DIR in qbs
Change-Id: I251567529ec33ef76043006c68749724208cc811
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-10-21 14:04:25 +00:00
Friedemann Kleint
e6b23dc2e5 clangcodemodel: Use forward slashes for CLANG_RESOURCE_DIR define
Adapt qmake and qbs files, fixing warnings on Windows:
clangutils.cpp(78): warning C4129: 'o': unrecognized character escape sequence
clangutils.cpp(78): warning C4129: 'L': unrecognized character escape sequence
clangutils.cpp(78): warning C4129: 'l': unrecognized character escape sequence

Change-Id: I7a5fe674665437582457645f2a081e1e38d5df77
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-10-21 10:29:40 +00:00
Nikolai Kosjar
9650adad14 Clang: Require at least LLVM 3.8.0
Change-Id: I2de3eef7bc06cba6298d64a9a042a01decc05384
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-07-11 08:22:32 +00:00
Nikolai Kosjar
fcc0648ba1 Clang: Emit a warning if LLVM_INSTALL_DIR is not set
Change-Id: I18f02e0878e2037857ccd85943c13bbac9cade6b
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-07-04 14:36:26 +00:00
Christian Kandeler
31258ec555 qbs build: Introduce libclang module.
This is The Right Way to detect libclang. Using a Probe will also
slightly improve performance in qbs 1.6 due to the result caching.

Change-Id: I063a8d108d02b620dda2df75dd8c014c84f27ec7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-06-17 13:33:03 +00:00