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