Clang: Unify CompilerOptionsBuilder options

No behavior change.

Sometimes we use "SkipX, sometimes "UseX". Unify to "UseX" as this is
more natural to read.

Change-Id: Ib08bdb4cde93ed55fdb9c855566b10a3933cae37
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
Nikolai Kosjar
2018-11-30 11:02:49 +01:00
parent aa99f98356
commit 273157c2a1
5 changed files with 33 additions and 35 deletions

View File

@@ -69,8 +69,8 @@ public:
LibClangOptionsBuilder(const ProjectPart &projectPart) LibClangOptionsBuilder(const ProjectPart &projectPart)
: CompilerOptionsBuilder(projectPart, : CompilerOptionsBuilder(projectPart,
UseSystemHeader::No, UseSystemHeader::No,
SkipBuiltIn::No, UseBuiltin::Yes,
SkipLanguageDefines::Yes, UseLanguageDefines::No,
QString(CLANG_VERSION), QString(CLANG_VERSION),
QString(CLANG_RESOURCE_DIR)) QString(CLANG_RESOURCE_DIR))
{ {
@@ -336,9 +336,7 @@ void generateCompilationDB(::Utils::FileName projectDir, CppTools::ProjectInfo p
for (ProjectPart::Ptr projectPart : projectInfo.projectParts()) { for (ProjectPart::Ptr projectPart : projectInfo.projectParts()) {
const ::Utils::FileName buildDir = buildDirectory(*projectPart); const ::Utils::FileName buildDir = buildDirectory(*projectPart);
CompilerOptionsBuilder optionsBuilder(*projectPart, CompilerOptionsBuilder optionsBuilder(*projectPart, UseSystemHeader::No, UseBuiltin::No);
CppTools::UseSystemHeader::No,
CppTools::SkipBuiltIn::Yes);
optionsBuilder.build(CppTools::ProjectFile::Unclassified, optionsBuilder.build(CppTools::ProjectFile::Unclassified,
CppTools::UsePrecompiledHeaders::No); CppTools::UsePrecompiledHeaders::No);

View File

@@ -192,9 +192,9 @@ static AnalyzeUnits toAnalyzeUnits(const FileInfos &fileInfos)
const UsePrecompiledHeaders usePrecompiledHeaders = CppTools::getPchUsage(); const UsePrecompiledHeaders usePrecompiledHeaders = CppTools::getPchUsage();
for (const FileInfo &fileInfo : fileInfos) { for (const FileInfo &fileInfo : fileInfos) {
CompilerOptionsBuilder optionsBuilder(*fileInfo.projectPart, CompilerOptionsBuilder optionsBuilder(*fileInfo.projectPart,
CppTools::UseSystemHeader::No, UseSystemHeader::No,
CppTools::SkipBuiltIn::No, UseBuiltin::Yes,
CppTools::SkipLanguageDefines::Yes, UseLanguageDefines::No,
QString(CLANG_VERSION), QString(CLANG_VERSION),
QString(CLANG_RESOURCE_DIR)); QString(CLANG_RESOURCE_DIR));
QStringList arguments = extraClangToolsPrependOptions(); QStringList arguments = extraClangToolsPrependOptions();

View File

@@ -73,14 +73,14 @@ static QString defineDirectiveToDefineOption(const ProjectExplorer::Macro &macro
CompilerOptionsBuilder::CompilerOptionsBuilder(const ProjectPart &projectPart, CompilerOptionsBuilder::CompilerOptionsBuilder(const ProjectPart &projectPart,
UseSystemHeader useSystemHeader, UseSystemHeader useSystemHeader,
SkipBuiltIn skipBuiltInHeaderPathsAndDefines, UseBuiltin useBuiltInHeaderPathsAndDefines,
SkipLanguageDefines skipLanguageDefines, UseLanguageDefines useLanguageDefines,
const QString &clangVersion, const QString &clangVersion,
const QString &clangResourceDirectory) const QString &clangResourceDirectory)
: m_projectPart(projectPart) : m_projectPart(projectPart)
, m_useSystemHeader(useSystemHeader) , m_useSystemHeader(useSystemHeader)
, m_skipBuiltInHeaderPathsAndDefines(skipBuiltInHeaderPathsAndDefines) , m_useBuiltInHeaderPathsAndDefines(useBuiltInHeaderPathsAndDefines)
, m_skipLanguageDefines(skipLanguageDefines) , m_useLanguageDefines(useLanguageDefines)
, m_clangVersion(clangVersion) , m_clangVersion(clangVersion)
, m_clangResourceDirectory(clangResourceDirectory) , m_clangResourceDirectory(clangResourceDirectory)
{ {
@@ -279,7 +279,7 @@ static int includeIndexForResourceDirectory(const QStringList &options, bool isM
void CompilerOptionsBuilder::insertWrappedQtHeaders() void CompilerOptionsBuilder::insertWrappedQtHeaders()
{ {
if (m_skipBuiltInHeaderPathsAndDefines == SkipBuiltIn::Yes) if (m_useBuiltInHeaderPathsAndDefines == UseBuiltin::No)
return; return;
QStringList wrappedQtHeaders; QStringList wrappedQtHeaders;
@@ -343,7 +343,7 @@ void CompilerOptionsBuilder::addHeaderPathOptions()
m_options.append(includes); m_options.append(includes);
m_options.append(systemIncludes); m_options.append(systemIncludes);
if (m_skipBuiltInHeaderPathsAndDefines == SkipBuiltIn::Yes) if (m_useBuiltInHeaderPathsAndDefines == UseBuiltin::No)
return; return;
// Exclude all built-in includes except Clang resource directory. // Exclude all built-in includes except Clang resource directory.
@@ -391,7 +391,7 @@ void CompilerOptionsBuilder::addPrecompiledHeaderOptions(UsePrecompiledHeaders u
void CompilerOptionsBuilder::addToolchainAndProjectMacros() void CompilerOptionsBuilder::addToolchainAndProjectMacros()
{ {
if (m_skipBuiltInHeaderPathsAndDefines == SkipBuiltIn::No) if (m_useBuiltInHeaderPathsAndDefines == UseBuiltin::Yes)
addMacros(m_projectPart.toolChainMacros); addMacros(m_projectPart.toolChainMacros);
addMacros(m_projectPart.projectMacros); addMacros(m_projectPart.projectMacros);
} }
@@ -621,7 +621,7 @@ bool CompilerOptionsBuilder::excludeDefineDirective(const ProjectExplorer::Macro
"_MSVC_LANG", "_MSVC_LANG",
"_MSC_FULL_VER", "_MSC_FULL_VER",
"_MSC_VER"}; "_MSC_VER"};
if (m_skipLanguageDefines == SkipLanguageDefines::Yes if (m_useLanguageDefines == UseLanguageDefines::No
&& std::find(languageDefines.begin(), && std::find(languageDefines.begin(),
languageDefines.end(), languageDefines.end(),
macro.key) != languageDefines.end()) { macro.key) != languageDefines.end()) {
@@ -673,7 +673,7 @@ void CompilerOptionsBuilder::addToolchainFlags()
// In case of MSVC we need builtin clang defines to correctly handle clang includes // In case of MSVC we need builtin clang defines to correctly handle clang includes
if (m_projectPart.toolchainType != ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID if (m_projectPart.toolchainType != ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID
&& m_projectPart.toolchainType != ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID) { && m_projectPart.toolchainType != ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID) {
if (m_skipBuiltInHeaderPathsAndDefines == SkipBuiltIn::No) if (m_useBuiltInHeaderPathsAndDefines == UseBuiltin::Yes)
add("-undef"); add("-undef");
else else
add("-fPIC"); add("-fPIC");

View File

@@ -33,16 +33,16 @@ namespace CppTools {
enum class UsePrecompiledHeaders : char { Yes, No }; enum class UsePrecompiledHeaders : char { Yes, No };
enum class UseSystemHeader : char { Yes, No }; enum class UseSystemHeader : char { Yes, No };
enum class SkipBuiltIn : char { Yes, No }; enum class UseBuiltin : char { Yes, No };
enum class SkipLanguageDefines : char { Yes, No }; enum class UseLanguageDefines : char { Yes, No };
class CPPTOOLS_EXPORT CompilerOptionsBuilder class CPPTOOLS_EXPORT CompilerOptionsBuilder
{ {
public: public:
CompilerOptionsBuilder(const ProjectPart &projectPart, CompilerOptionsBuilder(const ProjectPart &projectPart,
UseSystemHeader useSystemHeader = UseSystemHeader::No, UseSystemHeader useSystemHeader = UseSystemHeader::No,
SkipBuiltIn skipBuiltInHeaderPathsAndDefines = SkipBuiltIn::No, UseBuiltin useBuiltInHeaderPathsAndDefines = UseBuiltin::Yes,
SkipLanguageDefines skipLanguageDefines = SkipLanguageDefines::Yes, UseLanguageDefines useLanguageDefines = UseLanguageDefines::No,
const QString &clangVersion = QString(), const QString &clangVersion = QString(),
const QString &clangResourceDirectory = QString()); const QString &clangResourceDirectory = QString());
@@ -85,8 +85,8 @@ private:
const ProjectPart &m_projectPart; const ProjectPart &m_projectPart;
const UseSystemHeader m_useSystemHeader; const UseSystemHeader m_useSystemHeader;
const SkipBuiltIn m_skipBuiltInHeaderPathsAndDefines; const UseBuiltin m_useBuiltInHeaderPathsAndDefines;
const SkipLanguageDefines m_skipLanguageDefines; const UseLanguageDefines m_useLanguageDefines;
const QString m_clangVersion; const QString m_clangVersion;
const QString m_clangResourceDirectory; const QString m_clangResourceDirectory;

View File

@@ -89,8 +89,8 @@ TEST_F(CompilerOptionsBuilder, AddToolchainAndProjectMacrosWithoutSkipingLanguag
{ {
CppTools::CompilerOptionsBuilder compilerOptionsBuilder{projectPart, CppTools::CompilerOptionsBuilder compilerOptionsBuilder{projectPart,
CppTools::UseSystemHeader::No, CppTools::UseSystemHeader::No,
CppTools::SkipBuiltIn::No, CppTools::UseBuiltin::Yes,
CppTools:: SkipLanguageDefines::No}; CppTools::UseLanguageDefines::Yes};
compilerOptionsBuilder.addToolchainAndProjectMacros(); compilerOptionsBuilder.addToolchainAndProjectMacros();
@@ -147,8 +147,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersPath)
{ {
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
CppTools::UseSystemHeader::No, CppTools::UseSystemHeader::No,
CppTools::SkipBuiltIn::No, CppTools::UseBuiltin::Yes,
CppTools::SkipLanguageDefines::Yes, CppTools::UseLanguageDefines::No,
"7.0.0", "7.0.0",
""); "");
@@ -176,8 +176,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderMacOs)
projectPart.headerPaths.append(defaultPaths); projectPart.headerPaths.append(defaultPaths);
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
CppTools::UseSystemHeader::No, CppTools::UseSystemHeader::No,
CppTools::SkipBuiltIn::No, CppTools::UseBuiltin::Yes,
CppTools::SkipLanguageDefines::Yes, CppTools::UseLanguageDefines::No,
"7.0.0", "7.0.0",
""); "");
@@ -210,8 +210,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderLinux)
projectPart.toolChainTargetTriple = "x86_64-linux-gnu"; projectPart.toolChainTargetTriple = "x86_64-linux-gnu";
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
CppTools::UseSystemHeader::No, CppTools::UseSystemHeader::No,
CppTools::SkipBuiltIn::No, CppTools::UseBuiltin::Yes,
CppTools::SkipLanguageDefines::Yes, CppTools::UseLanguageDefines::No,
"7.0.0", "7.0.0",
""); "");
@@ -240,8 +240,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderNoVersion)
projectPart.toolChainTargetTriple = "x86_64-w64-windows-gnu"; projectPart.toolChainTargetTriple = "x86_64-w64-windows-gnu";
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
CppTools::UseSystemHeader::No, CppTools::UseSystemHeader::No,
CppTools::SkipBuiltIn::No, CppTools::UseBuiltin::Yes,
CppTools::SkipLanguageDefines::Yes, CppTools::UseLanguageDefines::No,
"7.0.0", "7.0.0",
""); "");
@@ -277,8 +277,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderAndroidClang)
projectPart.toolChainTargetTriple = "i686-linux-android"; projectPart.toolChainTargetTriple = "i686-linux-android";
CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart,
CppTools::UseSystemHeader::No, CppTools::UseSystemHeader::No,
CppTools::SkipBuiltIn::No, CppTools::UseBuiltin::Yes,
CppTools::SkipLanguageDefines::Yes, CppTools::UseLanguageDefines::No,
"7.0.0", "7.0.0",
""); "");