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

@@ -101,6 +101,15 @@ TEST(SmallString, CreateFromSmallStringIterators)
ASSERT_THAT(text, SmallString("this is very very very very very much text"));
}
TEST(SmallString, CreateFromStringView)
{
SmallStringView sourceText = "this is very very very very very much text";
SmallString text(sourceText);
ASSERT_THAT(text, SmallString("this is very very very very very much text"));
}
TEST(SmallString, ShortSmallStringIsReference)
{
SmallString longText("very very very very very long text");
@@ -658,6 +667,26 @@ TEST(SmallString, SmallerOperator)
ASSERT_FALSE(SmallString("text") < SmallString("text"));
}
TEST(SmallString, SmallerOperatorWithStringViewRight)
{
ASSERT_TRUE(SmallString() < SmallStringView("text"));
ASSERT_TRUE(SmallString("some") < SmallStringView("text"));
ASSERT_TRUE(SmallString("text") < SmallStringView("texta"));
ASSERT_FALSE(SmallString("texta") < SmallStringView("text"));
ASSERT_FALSE(SmallString("text") < SmallStringView("some"));
ASSERT_FALSE(SmallString("text") < SmallStringView("text"));
}
TEST(SmallString, SmallerOperatorWithStringViewLeft)
{
ASSERT_TRUE(SmallStringView("") < SmallString("text"));
ASSERT_TRUE(SmallStringView("some") < SmallString("text"));
ASSERT_TRUE(SmallStringView("text") < SmallString("texta"));
ASSERT_FALSE(SmallStringView("texta") < SmallString("text"));
ASSERT_FALSE(SmallStringView("text") < SmallString("some"));
ASSERT_FALSE(SmallStringView("text") < SmallString("text"));
}
TEST(SmallString, IsEmpty)
{
ASSERT_FALSE(SmallString("text").isEmpty());