summaryrefslogtreecommitdiff
path: root/src/tools/clangrefactoringbackend/source
Commit message (Collapse)AuthorAgeFilesLines
* Remove ClangRefactoring and ClangPchManagerEike Ziller2021-06-1549-5076/+0
| | | | | | | | | | | | 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>
* Sqlite: Move result count to class declarationMarco Bubke2021-03-261-2/+3
| | | | | | | | It move the magic number of column results to the sql statement and improves the mock a little bit. Change-Id: I101067444cf27ec5dea0c72de7fd484a7e8710f0 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* cmake build: Disable refactoringbackend and pchmanagerbackendEike Ziller2020-11-051-0/+1
| | | | | | | | | | | | | | | | | | Disable the libs and executables if not needed by either the plugins or by the tests. So far in the cmake build the ClangRefactoring and ClangPchManager plugins were disabled by default, but the backend executables were still built. With this change the executables are not built if the plugins are not enabled, like it is the case in the qmake build. To make it possible to build all the tests even though the plugins are disabled by default, the backend libraries are still built if tests are enabled. Change-Id: I3b61479525e1472a55215f1b003fea9facaf9e93 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Marco Bubke <marco.bubke@qt.io>
* ClangRefactoringBackend: Fix build with Clang 11Cristian Adam2020-10-202-0/+2
| | | | | Change-Id: Id03b0771e242534943e062dee3e63022ec9d9ce8 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Unittests: Remove external dependenciesCristian Adam2020-09-111-3/+4
| | | | | | | | | | External dependencies are targets built for Qt Creator e.g. Utils unittest is building everything for itself. It also fixes the MSVC building with PCH. Change-Id: I7bca1e150f6890ea85f30efda5642f9242a7c9b5 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* CMake build: Support building clang tooling without static libsEike Ziller2020-09-031-4/+1
| | | | | | | | | | | Create a FindClang.cmake and move all Clang configuration there. Find Clang and choose static libraries if available, otherwise use clang-cpp if available. Add option to link to clang-cpp even if static libraries are available. Fixes: QTCREATORBUG-23172 Change-Id: If40304d174469df0c786259e724cbee8de0e2d0e Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Refactoring: Fix unit testsMarco Bubke2020-06-304-25/+1
| | | | | | | | One if the LLVM 10 hot fixes was not working. Change-Id: I1e6cab39ffd5c52f55fb83ff777f6eca457dea35 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Sqlite: Improve constraint supportMarco Bubke2020-05-141-1/+1
| | | | | | | | Now you can add more than one constraint. And we added some new constraints too. Change-Id: I849d2d2ef6e44c897a65ff2bdfe8d172a345c991 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* CMake build: export less generic public includesEike Ziller2020-04-241-0/+1
| | | | | | | | | Do not put every plugin's and lib's source folder into public includes. We require includes of the style <somelib/foo.h> and <someplugin/bar.h> if someone depends on somelib or someplugin. Change-Id: I3a9f200b7c3879cf431b00a1bab4a70f7aa0a9ec Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Clang: Fix build with Clang/LLVM 10Orgad Shaneh2020-02-205-20/+49
| | | | | Change-Id: I740286c9dcfd325b1c31ab863fb5c91bf9c6ec70 Reviewed-by: hjk <hjk@qt.io>
* ClangRefactoring: Fix MSVC warningOrgad Shaneh2019-09-181-1/+1
| | | | | | | | | indexdataconsumer.cpp:70: warning: C4138: '*/' found outside of comment This amends commit 428b24fcb58f76f09ef94d494445dd1b30e70430. Change-Id: Ic84d4ab135718738a99c5babc908b8cdd1b55bc3 Reviewed-by: hjk <hjk@qt.io>
* Fix CMake buildEike Ziller2019-08-281-1/+0
| | | | | | Change-Id: I2f70e902670f0d20370d08f86edf4a7706daa393 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ClangRefactoring: Improve follow symbol and usageMarco Bubke2019-08-271-4/+4
| | | | | Change-Id: Idb42010443e4560489ef067e54d05b4e567598e9 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Reduce database accessesMarco Bubke2019-08-273-5/+8
| | | | | | | | If we prefetch data from the database to the caches we reduce the database transaction calls which are quite expensive. Change-Id: I617a0d886807402e0a94291a913a77f989970b55 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Optimize file path cacheMarco Bubke2019-08-273-11/+11
| | | | | | | | We now fetch all directories and sources from the database at file path cache creation. Change-Id: I92510b49a234128f4c82b840611db82ead3f1a54 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* ClangPchManager: Use TimeStamp instead of long longMarco Bubke2019-08-271-1/+1
| | | | | Change-Id: If8a429238d31492506c68bb523ceeb4bacad157e Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* ClangRefactoring: Remove file status collectionMarco Bubke2019-08-278-142/+0
| | | | | | | It is not needed anymore. If we need it again we can reintroduce it. Change-Id: If8897ddb404daaf52b249ddd3763deb685c35fe5 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Set indexing time stamp by dependent sourcesMarco Bubke2019-08-271-9/+45
| | | | | | | | Instead of using the time stamp from clang we simply set one time stamp for all dependent sources. Change-Id: I0adbe59d46c88ddd1ac491a7f7db568bcf2ac540 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Move transactions to storageMarco Bubke2019-08-271-2/+0
| | | | | | | | We call the function anyway only isolated from other queries, so we can move the transaction guards to the project storage. Change-Id: I7cca26b25c2258856c68821671085c0a68044693 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Merge remote-tracking branch 'origin/4.10'Eike Ziller2019-07-181-4/+4
|\ | | | | | | Change-Id: I1193e94353c14492a9e7f093fbcd3fa53f83e390
| * UnitTests: Fix compile without ClangMarco Bubke2019-07-161-4/+4
| | | | | | | | | | | | | | | | I moved the clang depend code under the condition that it is only compiled if LLVM is present. Change-Id: If1e37f677464ff38833c81dbebdfe8eaa563cdde Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Merge remote-tracking branch 'origin/4.10'Tim Jenssen2019-07-127-33/+41
|\ \ | |/ | | | | Change-Id: Iaf27911e4e9fb762c1a24c84c458462bafe95728
| * ClangPchManager: Fix path for excluded include filesMarco Bubke2019-07-112-3/+3
| | | | | | | | | | | | | | Still used the old approach but now it is using the new one. Change-Id: I4bf4da3a5d41d46afff261f3d77bd9190737038a Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
| * ClangRefactoring: Test for non existing clientMarco Bubke2019-07-111-1/+2
| | | | | | | | | | | | | | This can be happen as we shutdown the process. Change-Id: I69f30ed65ef4456abe6d59b4ea188a67c482efe0 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
| * ClangRefactoring: Make the indexer more robustMarco Bubke2019-07-111-23/+35
| | | | | | | | | | | | | | | | We check now if the database is busy. This should not be happen but better be careful. Change-Id: I8b667ff183368977991974ea1fe7fcde837e968a Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
| * ClangRefactoring: Add WAL checkpoint at the end of the symbol storageMarco Bubke2019-07-111-0/+1
| | | | | | | | | | Change-Id: I70fde54947a302ae0e45bff083cd5654c86b3891 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
| * CMake: Fix buildOrgad Shaneh2019-07-081-5/+0
| | | | | | | | | | | | | | This amends commit 376aae271132b39664d381f00bdcd45856acbd73 Change-Id: I63e94c7e720f4f18fcf0f47b6e7af7e471c84df5 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
| * ClangRefactor: Avoid warningshjk2019-07-051-14/+0
| | | | | | | | | | | | | | ... about unused code by removing it. Change-Id: I827db7880d5fca8a736b34fa58608328645bf80f Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
| * Fix pri fileMarco Bubke2019-07-041-1/+0
| | | | | | | | | | Change-Id: I277340dbec962e59f090d393967453d058a933a2 Reviewed-by: Marco Bubke <marco.bubke@qt.io>
* | Merge remote-tracking branch 'origin/4.10'Tim Jenssen2019-07-0416-978/+13
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | 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
| * Clang: Remove old codeMarco Bubke2019-07-0411-846/+0
| | | | | | | | | | | | | | | | We maybe bring back the clang query interface but the local rename is better served by other plugins. Change-Id: I97bedcb20870632b7dd50977794a65b2b09ededb Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
| * Clang: Differentiate between user and non user includes for updatingMarco Bubke2019-07-044-130/+13
| | | | | | | | | | | | | | | | We don't want to recreate a PCH if the include or source is not contained by a PCH. Change-Id: If52fc1aed92054b4165cdc634656147fbe8baa47 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
| * CMake build: Fix building with CMakeCristian Adam2019-07-011-2/+0
| | | | | | | | | | Change-Id: Ib1ba9d286a029d20106d105b3db7fb34596badbd Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* | Merge remote-tracking branch 'origin/4.10'Eike Ziller2019-06-289-249/+19
|\ \ | |/ | | | | | | | | | | | | Conflicts: CMakeLists.txt tests/unit/unittest/unittest.pro Change-Id: I64296ad31502d9b35012da129a28e9277e9fcf8e
| * Clang: Add reset to ModifiedTimeCheckerMarco Bubke2019-06-271-6/+1
| | | | | | | | | | | | | | | | We can reset some file once to flag a file dirty if the included file has changed. Change-Id: I8763bb80f65882fba4e70057f569234e77097927 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
| * Clang: Watch only PCH sourcesMarco Bubke2019-06-271-1/+1
| | | | | | | | | | | | | | | | We watched all sources but we do not want to watch the sources of the project part because they are not used to build a PCH. Change-Id: I700cd6077fc54230c9be94d620043cf3f10cf9ea Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
| * Clang: Update ModifiedTimeChecker in SymbolIndexerMarco Bubke2019-06-272-3/+5
| | | | | | | | | | | | | | If a watched file changed we should update the ModifiedTimeChecker too. Change-Id: Ie43f5cf5b6dd4ddb1383168a1326add21f6e3e9d Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
| * Clang: Watch directories instead of filesMarco Bubke2019-06-275-238/+5
| | | | | | | | | | | | | | | | Because there a limited resources to watch files we watch now directories. So we need much less resources. Change-Id: Iac558832e9521a7a1a67c5ea99b42ad1b0b5129c Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
| * ClangRefactoring: Clear input files after collecting symbolsMarco Bubke2019-06-262-1/+7
| | | | | | | | | | Change-Id: Ic4fbaac7ad3b3f80223d6cbb84a34dffa741fc4f Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* | ClangRefactor: Suppress warnings about unused stuffhjk2019-06-212-18/+4
|/ | | | | Change-Id: Ib9f25081421e6477c457786e0882322b44e80c62 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* CMake build: Adapt to changesEike Ziller2019-06-181-0/+1
| | | | | Change-Id: Ia9cccd8068248ceacb2e4b1d4e182dc009d65497 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Clang build: Fix compilation with MSVC2017v4.10.0-beta1Cristian Adam2019-06-171-1/+1
| | | | | Change-Id: I677614dc8f9de503131d8ac490a723c9fc5f7beb Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ClangRefactoring: Activate updating for indexingMarco Bubke2019-06-171-0/+2
| | | | | Change-Id: I6fb818edfab8ef7d9cfab0520276acedf0597fd3 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* ClangRefactoring: Improve indexingMarco Bubke2019-06-1714-180/+347
| | | | | | | Fix some bugs in the indexing and use the new macro indexer from clang. Change-Id: I2ba1b28097a8751aea942071851a60d164c6f371 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Improve updatingMarco Bubke2019-06-171-2/+5
| | | | | | | | If project parts are up to date we send them directly to the indexer, so the indexer can decide we something needs an update. Change-Id: I7d4f32794c6b3a861cdefb3653a6dfd4e711f619 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* ClangRefactoring: Ensure that database is written to log after indexingMarco Bubke2019-06-172-9/+19
| | | | | Change-Id: Ic2473d9fe8dc9b41a7da728c9e1b5202524c1a79 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Remove DelayedTemplateParsing settingsMarco Bubke2019-06-051-1/+0
| | | | | | | | It will be use the default which should be provide less errors. Change-Id: I2f5feefe574cbda6cd85f10620dfb75c46a0f7b7 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Add missing dependencies to clangrefactoringbackend related codeTobias Hunger2019-06-031-2/+7
| | | | | | Change-Id: I4c7fa04309f24a5a5143a5e32f0b5200fdcde0b6 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Add Threads::Threads as public dependency to clangrefactoringbackend ↵Tobias Hunger2019-06-031-0/+1
| | | | | | | | library Change-Id: If7d3d4a7226f034d0e4c66726d3a7beed3480efe Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake build: Add unittest CMake build filesCristian Adam2019-05-291-0/+47
| | | | | | | | | On MinGW 8.1 I get the following after running ctest -j 40 99% tests passed, 35 tests failed out of 2631 Change-Id: I2c3ce7940b036e52ef393feab5837886355e7b5a Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>