Clang: Add ClangPchManager

Compiling every header file again and again is quite time comsuming. There
are technics to improve this like preambles(a kind of automated
precompiled header) but they don't share their data between translation
units. This approach provides an automatically generated precompiled
header for every project and subproject to improve the loading time.

Change-Id: I34f5bd4db21951175920e2a9bbf6b97b1d705969
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Marco Bubke
2017-01-30 11:24:46 +01:00
parent d4b1cb4a65
commit c072cdfb88
105 changed files with 6925 additions and 20 deletions

View File

@@ -45,10 +45,17 @@
# define CLANGBACKENDPROCESSPATH ""
#endif
#ifdef UNIT_TESTS
#define unitttest_public public
#else
#define unitttest_public private
#endif
namespace Utils {
template <uint Size>
class BasicSmallString;
using SmallString = BasicSmallString<31>;
using PathString = BasicSmallString<191>;
}
namespace ClangBackEnd {
@@ -124,7 +131,10 @@ enum class MessageType : quint8 {
RequestSourceRangesAndDiagnosticsForQueryMessage,
SourceRangesAndDiagnosticsForQueryMessage,
CancelMessage
CancelMessage,
UpdatePchProjectPartsMessage,
RemovePchProjectPartsMessage,
PrecompiledHeadersUpdatedMessage
};
template<MessageType messageEnumeration>