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>
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>
The project part ids are now already created very early in the database.
This removes some checks because we can assume that an id already exists.
The project part are now completely persistent, so we can read them from
the database and compare them with new generated from a new creator
session. This should help to not recreate the same PCH again and again.
Task-number: QTCREATORBUG-21151
Change-Id: Iced818ff9f7431eaed3e37978087cc0a43b9afda
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
The file name id must be unique for very entry, so the directory id must be
incorporated too. Now there is always one unique integer id for every
file path. The directory id is there to access and compare the directory
much faster but not provide any data to the uniqueness of the id.
Change-Id: I0f9a2ca70bc9dda0ce32ebc45eb7b082821eb909
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Link error:
clangpchmanagerbackendmain.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) public: __cdecl ClangBackEnd::ClangPathWatcher<class QFileSystemWatcher,class QTimer>::ClangPathWatcher<class QFileSystemWatcher,class QTimer>(
class ClangBackEnd::FilePathCachingInterface &,class ClangBackEnd::ClangPathWatcherNotifier *)"
(__imp_??0?$ClangPathWatcher@VQFileSystemWatcher@@VQTimer@@@ClangBackEnd@@QEAA@AEAVFilePathCachingInterface@1@PEAVClangPathWatcherNotifier@1@@Z) referenced in function main
Looks like MSVC looks for import even for inline template functions.
Another alternative is to revert 351f355b69
and either ignore or suppress the GCC warning.
Change-Id: I040d4e3924af7f4d1f4424276329c6095e6ff6bd
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Fixes the following GCC warnings:
In file included from .../clangpchmanagerbackend/clangpchmanagerbackendmain.cpp:26:0:
.../clangsupport/clangpathwatcher.h: In instantiation of ‘class ClangBackEnd::ClangPathWatcher<QFileSystemWatcher, QTimer>’:
.../clangpchmanagerbackend/clangpchmanagerbackendmain.cpp:114:78: required from here
.../clangsupport/clangpathwatcher.h:80:7: warning: ‘ClangBackEnd::ClangPathWatcher<QFileSystemWatcher, QTimer>’
declared with greater visibility than the type of its field ‘ClangBackEnd::ClangPathWatcher<QFileSystemWatcher, QTimer>::m_idCache’ [-Wattributes]
class ClangPathWatcher : public ClangPathWatcherInterface
^~~~~~~~~~~~~~~~
Change-Id: I8c6bc30e80da50b631d272ff7c2120cf706548aa
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Different types are introduced for normalized and native file path. So the
compiler is warning you if you try the wrong format.
Change-Id: I1da0686b142cbf9bb7578468c2b50f90a94cebf9
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>