forked from qt-creator/qt-creator
Clang: Disable min and max macros
Change-Id: I75f930053ca514dbd32366c628e7e4916ba8550a Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
@@ -48,10 +48,11 @@ public:
|
||||
FilePathView outputPath = {},
|
||||
FilePathView includePchPath = {})
|
||||
{
|
||||
commandLine.reserve(128);
|
||||
commandLine.reserve(1024);
|
||||
|
||||
addCompiler(projectInfo.language);
|
||||
addToolChainArguments(toolChainArguments);
|
||||
addExtraFlags();
|
||||
addLanguage(projectInfo, sourceType);
|
||||
addLanguageVersion(projectInfo);
|
||||
addNoStdIncAndNoStdLibInc(projectInfo.language);
|
||||
@@ -79,6 +80,8 @@ public:
|
||||
commandLine.emplace_back(argument);
|
||||
}
|
||||
|
||||
void addExtraFlags() { commandLine.emplace_back("-DNOMINMAX"); }
|
||||
|
||||
static const char *language(const ProjectInfo &projectInfo, InputFileType sourceType)
|
||||
{
|
||||
switch (projectInfo.language) {
|
||||
|
@@ -76,8 +76,6 @@ bool PchCreator::generatePch(NativeFilePathView path, Utils::SmallStringView con
|
||||
{
|
||||
clang::tooling::ClangTool tool = m_clangTool.createOutputTool();
|
||||
|
||||
NativeFilePath headerFilePath{m_environment.pchBuildDirectory().toStdString(), "dummy.h"};
|
||||
|
||||
auto action = std::make_unique<GeneratePCHActionFactory>(llvm::StringRef{path.data(),
|
||||
path.size()},
|
||||
llvm::StringRef{content.data(),
|
||||
|
@@ -139,6 +139,7 @@ TYPED_TEST(CommandLineBuilder, CHeader)
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c-header",
|
||||
"-std=c11",
|
||||
@@ -154,7 +155,7 @@ TYPED_TEST(CommandLineBuilder, CSource)
|
||||
Builder<TypeParam> builder{this->emptyProjectInfo, {}, InputFileType::Source, "/source/file.c"};
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang", "-x", "c", "-std=c11", "-nostdinc", "/source/file.c"));
|
||||
ElementsAre("clang", "-DNOMINMAX", "-x", "c", "-std=c11", "-nostdinc", "/source/file.c"));
|
||||
}
|
||||
|
||||
TYPED_TEST(CommandLineBuilder, ObjectiveCHeader)
|
||||
@@ -167,6 +168,7 @@ TYPED_TEST(CommandLineBuilder, ObjectiveCHeader)
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"objective-c-header",
|
||||
"-std=c11",
|
||||
@@ -184,6 +186,7 @@ TYPED_TEST(CommandLineBuilder, ObjectiveCSource)
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"objective-c",
|
||||
"-std=c11",
|
||||
@@ -200,6 +203,7 @@ TYPED_TEST(CommandLineBuilder, CppHeader)
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang++",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++-header",
|
||||
"-std=c++98",
|
||||
@@ -215,9 +219,15 @@ TYPED_TEST(CommandLineBuilder, CppSource)
|
||||
|
||||
Builder<TypeParam> builder{this->emptyProjectInfo, {}, InputFileType::Source, "/source/file.cpp"};
|
||||
|
||||
ASSERT_THAT(
|
||||
builder.commandLine,
|
||||
ElementsAre("clang++", "-x", "c++", "-std=c++98", "-nostdinc", "-nostdinc++", "/source/file.cpp"));
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang++",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++",
|
||||
"-std=c++98",
|
||||
"-nostdinc",
|
||||
"-nostdinc++",
|
||||
"/source/file.cpp"));
|
||||
}
|
||||
|
||||
TYPED_TEST(CommandLineBuilder, ObjectiveCppHeader)
|
||||
@@ -230,6 +240,7 @@ TYPED_TEST(CommandLineBuilder, ObjectiveCppHeader)
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang++",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"objective-c++-header",
|
||||
"-std=c++98",
|
||||
@@ -248,6 +259,7 @@ TYPED_TEST(CommandLineBuilder, ObjectiveCppSource)
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang++",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"objective-c++",
|
||||
"-std=c++98",
|
||||
@@ -480,6 +492,7 @@ TYPED_TEST(CommandLineBuilder, IncludesOrder)
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang++",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++-header",
|
||||
"-std=c++11",
|
||||
@@ -505,7 +518,13 @@ TYPED_TEST(CommandLineBuilder, EmptySourceFile)
|
||||
Builder<TypeParam> builder{this->emptyProjectInfo, {}, {}};
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang++", "-x", "c++-header", "-std=c++98", "-nostdinc", "-nostdinc++"));
|
||||
ElementsAre("clang++",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++-header",
|
||||
"-std=c++98",
|
||||
"-nostdinc",
|
||||
"-nostdinc++"));
|
||||
}
|
||||
|
||||
TYPED_TEST(CommandLineBuilder, SourceFile)
|
||||
@@ -514,6 +533,7 @@ TYPED_TEST(CommandLineBuilder, SourceFile)
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang++",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++-header",
|
||||
"-std=c++98",
|
||||
@@ -529,6 +549,7 @@ TYPED_TEST(CommandLineBuilder, EmptyOutputFile)
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang++",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++-header",
|
||||
"-std=c++98",
|
||||
@@ -547,6 +568,7 @@ TYPED_TEST(CommandLineBuilder, OutputFile)
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang++",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++-header",
|
||||
"-std=c++98",
|
||||
@@ -568,6 +590,7 @@ TYPED_TEST(CommandLineBuilder, IncludePchPath)
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang++",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++-header",
|
||||
"-std=c++98",
|
||||
@@ -590,6 +613,7 @@ TYPED_TEST(CommandLineBuilder, CompilerMacros)
|
||||
|
||||
ASSERT_THAT(builder.commandLine,
|
||||
ElementsAre("clang++",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++-header",
|
||||
"-std=c++98",
|
||||
|
@@ -134,6 +134,7 @@ TEST_F(PchCreator, CreateProjectPartClangCompilerArguments)
|
||||
|
||||
ASSERT_THAT(arguments,
|
||||
ElementsAre("clang++",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++-header",
|
||||
"-std=c++98",
|
||||
@@ -157,6 +158,7 @@ TEST_F(PchCreator, CreateProjectPartClangCompilerArgumentsWithSystemPch)
|
||||
|
||||
ASSERT_THAT(arguments,
|
||||
ElementsAre("clang++",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++-header",
|
||||
"-std=c++98",
|
||||
|
@@ -267,6 +267,7 @@ TEST_F(SymbolIndexer, UpdateProjectPartsCallsAddFilesInCollector)
|
||||
setFile(main1PathId,
|
||||
ElementsAre("clang++",
|
||||
"-Wno-pragma-once-outside-header",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++",
|
||||
"-std=c++14",
|
||||
@@ -297,6 +298,7 @@ TEST_F(SymbolIndexer, UpdateProjectPartsCallsAddFilesWithPrecompiledHeaderInColl
|
||||
setFile(main1PathId,
|
||||
ElementsAre("clang++",
|
||||
"-Wno-pragma-once-outside-header",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++",
|
||||
"-std=c++14",
|
||||
@@ -330,6 +332,7 @@ TEST_F(SymbolIndexer, UpdateProjectPartsCallsAddFilesWithoutPrecompiledHeaderInC
|
||||
setFile(main1PathId,
|
||||
ElementsAre("clang++",
|
||||
"-Wno-pragma-once-outside-header",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++",
|
||||
"-std=c++14",
|
||||
@@ -510,6 +513,7 @@ TEST_F(SymbolIndexer, UpdateProjectPartsCallsInOrderWithoutProjectPartArtifact)
|
||||
setFile(main1PathId,
|
||||
ElementsAre("clang++",
|
||||
"-Wno-pragma-once-outside-header",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++",
|
||||
"-std=c++14",
|
||||
@@ -562,6 +566,7 @@ TEST_F(SymbolIndexer, UpdateProjectPartsCallsInOrderWithProjectPartArtifact)
|
||||
setFile(Eq(main1PathId),
|
||||
ElementsAre("clang++",
|
||||
"-Wno-pragma-once-outside-header",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++",
|
||||
"-std=c++14",
|
||||
@@ -616,6 +621,7 @@ TEST_F(SymbolIndexer, UpdateProjectPartsCallsInOrderButGetsAnErrorForCollectingS
|
||||
setFile(main1PathId,
|
||||
ElementsAre("clang++",
|
||||
"-Wno-pragma-once-outside-header",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++",
|
||||
"-std=c++14",
|
||||
@@ -673,6 +679,7 @@ TEST_F(SymbolIndexer, UpdateChangedPathCallsInOrder)
|
||||
setFile(Eq(sourceFileIds[0]),
|
||||
ElementsAre("clang++",
|
||||
"-DFOO",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++",
|
||||
"-std=c++14",
|
||||
@@ -736,6 +743,7 @@ TEST_F(SymbolIndexer, UpdateChangedPathCallsInOrderButGetsAnErrorForCollectingSy
|
||||
setFile(Eq(sourceFileIds[0]),
|
||||
ElementsAre("clang++",
|
||||
"-DFOO",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++",
|
||||
"-std=c++14",
|
||||
@@ -779,6 +787,7 @@ TEST_F(SymbolIndexer, UpdateChangedPathIsUsingPrecompiledHeader)
|
||||
setFile(Eq(sourceFileIds[0]),
|
||||
ElementsAre("clang++",
|
||||
"-DFOO",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++",
|
||||
"-std=c++14",
|
||||
@@ -814,6 +823,7 @@ TEST_F(SymbolIndexer, UpdateChangedPathIsNotUsingPrecompiledHeaderIfItNotExists)
|
||||
setFile(Eq(sourceFileIds[0]),
|
||||
ElementsAre("clang++",
|
||||
"-DFOO",
|
||||
"-DNOMINMAX",
|
||||
"-x",
|
||||
"c++",
|
||||
"-std=c++14",
|
||||
|
Reference in New Issue
Block a user