From 273157c2a1d35f36063839d1fec4feabdc283332 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Fri, 30 Nov 2018 11:02:49 +0100 Subject: [PATCH] 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 --- src/plugins/clangcodemodel/clangutils.cpp | 8 +++---- .../clangtools/clangtoolruncontrol.cpp | 6 ++--- .../cpptools/compileroptionsbuilder.cpp | 18 +++++++------- src/plugins/cpptools/compileroptionsbuilder.h | 12 +++++----- .../unittest/compileroptionsbuilder-test.cpp | 24 +++++++++---------- 5 files changed, 33 insertions(+), 35 deletions(-) diff --git a/src/plugins/clangcodemodel/clangutils.cpp b/src/plugins/clangcodemodel/clangutils.cpp index e58fc0bf790..6f6be511a0b 100644 --- a/src/plugins/clangcodemodel/clangutils.cpp +++ b/src/plugins/clangcodemodel/clangutils.cpp @@ -69,8 +69,8 @@ public: LibClangOptionsBuilder(const ProjectPart &projectPart) : CompilerOptionsBuilder(projectPart, UseSystemHeader::No, - SkipBuiltIn::No, - SkipLanguageDefines::Yes, + UseBuiltin::Yes, + UseLanguageDefines::No, QString(CLANG_VERSION), QString(CLANG_RESOURCE_DIR)) { @@ -336,9 +336,7 @@ void generateCompilationDB(::Utils::FileName projectDir, CppTools::ProjectInfo p for (ProjectPart::Ptr projectPart : projectInfo.projectParts()) { const ::Utils::FileName buildDir = buildDirectory(*projectPart); - CompilerOptionsBuilder optionsBuilder(*projectPart, - CppTools::UseSystemHeader::No, - CppTools::SkipBuiltIn::Yes); + CompilerOptionsBuilder optionsBuilder(*projectPart, UseSystemHeader::No, UseBuiltin::No); optionsBuilder.build(CppTools::ProjectFile::Unclassified, CppTools::UsePrecompiledHeaders::No); diff --git a/src/plugins/clangtools/clangtoolruncontrol.cpp b/src/plugins/clangtools/clangtoolruncontrol.cpp index fe5499128e3..21895062cb4 100644 --- a/src/plugins/clangtools/clangtoolruncontrol.cpp +++ b/src/plugins/clangtools/clangtoolruncontrol.cpp @@ -192,9 +192,9 @@ static AnalyzeUnits toAnalyzeUnits(const FileInfos &fileInfos) const UsePrecompiledHeaders usePrecompiledHeaders = CppTools::getPchUsage(); for (const FileInfo &fileInfo : fileInfos) { CompilerOptionsBuilder optionsBuilder(*fileInfo.projectPart, - CppTools::UseSystemHeader::No, - CppTools::SkipBuiltIn::No, - CppTools::SkipLanguageDefines::Yes, + UseSystemHeader::No, + UseBuiltin::Yes, + UseLanguageDefines::No, QString(CLANG_VERSION), QString(CLANG_RESOURCE_DIR)); QStringList arguments = extraClangToolsPrependOptions(); diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 5dadcd1e48b..6a11f2f04c4 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -73,14 +73,14 @@ static QString defineDirectiveToDefineOption(const ProjectExplorer::Macro ¯o CompilerOptionsBuilder::CompilerOptionsBuilder(const ProjectPart &projectPart, UseSystemHeader useSystemHeader, - SkipBuiltIn skipBuiltInHeaderPathsAndDefines, - SkipLanguageDefines skipLanguageDefines, + UseBuiltin useBuiltInHeaderPathsAndDefines, + UseLanguageDefines useLanguageDefines, const QString &clangVersion, const QString &clangResourceDirectory) : m_projectPart(projectPart) , m_useSystemHeader(useSystemHeader) - , m_skipBuiltInHeaderPathsAndDefines(skipBuiltInHeaderPathsAndDefines) - , m_skipLanguageDefines(skipLanguageDefines) + , m_useBuiltInHeaderPathsAndDefines(useBuiltInHeaderPathsAndDefines) + , m_useLanguageDefines(useLanguageDefines) , m_clangVersion(clangVersion) , m_clangResourceDirectory(clangResourceDirectory) { @@ -279,7 +279,7 @@ static int includeIndexForResourceDirectory(const QStringList &options, bool isM void CompilerOptionsBuilder::insertWrappedQtHeaders() { - if (m_skipBuiltInHeaderPathsAndDefines == SkipBuiltIn::Yes) + if (m_useBuiltInHeaderPathsAndDefines == UseBuiltin::No) return; QStringList wrappedQtHeaders; @@ -343,7 +343,7 @@ void CompilerOptionsBuilder::addHeaderPathOptions() m_options.append(includes); m_options.append(systemIncludes); - if (m_skipBuiltInHeaderPathsAndDefines == SkipBuiltIn::Yes) + if (m_useBuiltInHeaderPathsAndDefines == UseBuiltin::No) return; // Exclude all built-in includes except Clang resource directory. @@ -391,7 +391,7 @@ void CompilerOptionsBuilder::addPrecompiledHeaderOptions(UsePrecompiledHeaders u void CompilerOptionsBuilder::addToolchainAndProjectMacros() { - if (m_skipBuiltInHeaderPathsAndDefines == SkipBuiltIn::No) + if (m_useBuiltInHeaderPathsAndDefines == UseBuiltin::Yes) addMacros(m_projectPart.toolChainMacros); addMacros(m_projectPart.projectMacros); } @@ -621,7 +621,7 @@ bool CompilerOptionsBuilder::excludeDefineDirective(const ProjectExplorer::Macro "_MSVC_LANG", "_MSC_FULL_VER", "_MSC_VER"}; - if (m_skipLanguageDefines == SkipLanguageDefines::Yes + if (m_useLanguageDefines == UseLanguageDefines::No && std::find(languageDefines.begin(), 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 if (m_projectPart.toolchainType != ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID && m_projectPart.toolchainType != ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID) { - if (m_skipBuiltInHeaderPathsAndDefines == SkipBuiltIn::No) + if (m_useBuiltInHeaderPathsAndDefines == UseBuiltin::Yes) add("-undef"); else add("-fPIC"); diff --git a/src/plugins/cpptools/compileroptionsbuilder.h b/src/plugins/cpptools/compileroptionsbuilder.h index 12c2b8bce26..9ed05be0f72 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.h +++ b/src/plugins/cpptools/compileroptionsbuilder.h @@ -33,16 +33,16 @@ namespace CppTools { enum class UsePrecompiledHeaders : char { Yes, No }; enum class UseSystemHeader : char { Yes, No }; -enum class SkipBuiltIn : char { Yes, No }; -enum class SkipLanguageDefines : char { Yes, No }; +enum class UseBuiltin : char { Yes, No }; +enum class UseLanguageDefines : char { Yes, No }; class CPPTOOLS_EXPORT CompilerOptionsBuilder { public: CompilerOptionsBuilder(const ProjectPart &projectPart, UseSystemHeader useSystemHeader = UseSystemHeader::No, - SkipBuiltIn skipBuiltInHeaderPathsAndDefines = SkipBuiltIn::No, - SkipLanguageDefines skipLanguageDefines = SkipLanguageDefines::Yes, + UseBuiltin useBuiltInHeaderPathsAndDefines = UseBuiltin::Yes, + UseLanguageDefines useLanguageDefines = UseLanguageDefines::No, const QString &clangVersion = QString(), const QString &clangResourceDirectory = QString()); @@ -85,8 +85,8 @@ private: const ProjectPart &m_projectPart; const UseSystemHeader m_useSystemHeader; - const SkipBuiltIn m_skipBuiltInHeaderPathsAndDefines; - const SkipLanguageDefines m_skipLanguageDefines; + const UseBuiltin m_useBuiltInHeaderPathsAndDefines; + const UseLanguageDefines m_useLanguageDefines; const QString m_clangVersion; const QString m_clangResourceDirectory; diff --git a/tests/unit/unittest/compileroptionsbuilder-test.cpp b/tests/unit/unittest/compileroptionsbuilder-test.cpp index 65b662087bb..042f7830273 100644 --- a/tests/unit/unittest/compileroptionsbuilder-test.cpp +++ b/tests/unit/unittest/compileroptionsbuilder-test.cpp @@ -89,8 +89,8 @@ TEST_F(CompilerOptionsBuilder, AddToolchainAndProjectMacrosWithoutSkipingLanguag { CppTools::CompilerOptionsBuilder compilerOptionsBuilder{projectPart, CppTools::UseSystemHeader::No, - CppTools::SkipBuiltIn::No, - CppTools:: SkipLanguageDefines::No}; + CppTools::UseBuiltin::Yes, + CppTools::UseLanguageDefines::Yes}; compilerOptionsBuilder.addToolchainAndProjectMacros(); @@ -147,8 +147,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersPath) { CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::UseSystemHeader::No, - CppTools::SkipBuiltIn::No, - CppTools::SkipLanguageDefines::Yes, + CppTools::UseBuiltin::Yes, + CppTools::UseLanguageDefines::No, "7.0.0", ""); @@ -176,8 +176,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderMacOs) projectPart.headerPaths.append(defaultPaths); CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::UseSystemHeader::No, - CppTools::SkipBuiltIn::No, - CppTools::SkipLanguageDefines::Yes, + CppTools::UseBuiltin::Yes, + CppTools::UseLanguageDefines::No, "7.0.0", ""); @@ -210,8 +210,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderLinux) projectPart.toolChainTargetTriple = "x86_64-linux-gnu"; CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::UseSystemHeader::No, - CppTools::SkipBuiltIn::No, - CppTools::SkipLanguageDefines::Yes, + CppTools::UseBuiltin::Yes, + CppTools::UseLanguageDefines::No, "7.0.0", ""); @@ -240,8 +240,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderNoVersion) projectPart.toolChainTargetTriple = "x86_64-w64-windows-gnu"; CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::UseSystemHeader::No, - CppTools::SkipBuiltIn::No, - CppTools::SkipLanguageDefines::Yes, + CppTools::UseBuiltin::Yes, + CppTools::UseLanguageDefines::No, "7.0.0", ""); @@ -277,8 +277,8 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderAndroidClang) projectPart.toolChainTargetTriple = "i686-linux-android"; CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::UseSystemHeader::No, - CppTools::SkipBuiltIn::No, - CppTools::SkipLanguageDefines::Yes, + CppTools::UseBuiltin::Yes, + CppTools::UseLanguageDefines::No, "7.0.0", "");