From ddebf71e02d86c87c37eaed05e6bf9fecfb6662f Mon Sep 17 00:00:00 2001 From: malte_langkabel Date: Fri, 11 Aug 2017 11:31:28 +0200 Subject: [PATCH] logic: fixed case where clang target flag was "---" --- src/lib/settings/SourceGroupSettingsCxx.cpp | 17 +++++++++-------- src/lib/settings/SourceGroupSettingsCxx.h | 1 - 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/lib/settings/SourceGroupSettingsCxx.cpp b/src/lib/settings/SourceGroupSettingsCxx.cpp index ffbadb17..4450621e 100644 --- a/src/lib/settings/SourceGroupSettingsCxx.cpp +++ b/src/lib/settings/SourceGroupSettingsCxx.cpp @@ -148,6 +148,11 @@ SourceGroupSettingsCxx::SourceGroupSettingsCxx(const std::string& id, SourceGrou , m_useSourcePathsForHeaderSearch(false) , m_hasDefinedUseSourcePathsForHeaderSearch(false) , m_compilationDatabasePath(FilePath()) + , m_targetOptionsEnabled(false) + , m_targetArch("") + , m_targetVendor("") + , m_targetSys("") + , m_targetAbi("") { } @@ -318,17 +323,13 @@ void SourceGroupSettingsCxx::setTargetAbi(const std::string& abi) std::string SourceGroupSettingsCxx::getTargetFlag() const { std::string targetFlag = ""; - if (m_targetOptionsEnabled) + if (m_targetOptionsEnabled && !m_targetArch.empty()) { targetFlag = "--target="; targetFlag += m_targetArch; - if (!m_targetSub.empty()) - { - targetFlag += m_targetSub; - } - targetFlag += "-" + m_targetVendor; - targetFlag += "-" + m_targetSys; - targetFlag += "-" + m_targetAbi; + targetFlag += "-" + m_targetVendor.empty() ? "unknown" : m_targetVendor; + targetFlag += "-" + m_targetSys.empty() ? "unknown" : m_targetSys; + targetFlag += "-" + m_targetAbi.empty() ? "unknown" : m_targetAbi; } return targetFlag; } diff --git a/src/lib/settings/SourceGroupSettingsCxx.h b/src/lib/settings/SourceGroupSettingsCxx.h index d03e8e04..86780edc 100644 --- a/src/lib/settings/SourceGroupSettingsCxx.h +++ b/src/lib/settings/SourceGroupSettingsCxx.h @@ -69,7 +69,6 @@ private: std::vector m_frameworkSearchPaths; bool m_targetOptionsEnabled; std::string m_targetArch; - std::string m_targetSub; std::string m_targetVendor; std::string m_targetSys; std::string m_targetAbi;