forked from qt-creator/qt-creator
Clang: Ensure that platform codegen flags get also filtered
Leave the function addExtraCodeModelFlags() around as it's used by ClangPchManager::ProjectUpdater::toolChainArguments(). This allows us to filter out excess target arguments in a follow-up change. Change-Id: I742d713dd1ca6c391ba77c52555dcf4e94cc2ff9 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -140,8 +140,6 @@ QStringList CompilerOptionsBuilder::build(ProjectFile::Kind fileKind,
|
|||||||
addPrecompiledHeaderOptions(usePrecompiledHeaders);
|
addPrecompiledHeaderOptions(usePrecompiledHeaders);
|
||||||
addProjectConfigFileInclude();
|
addProjectConfigFileInclude();
|
||||||
|
|
||||||
addExtraCodeModelFlags();
|
|
||||||
|
|
||||||
addMsvcCompatibilityVersion();
|
addMsvcCompatibilityVersion();
|
||||||
addProjectMacros();
|
addProjectMacros();
|
||||||
undefineClangVersionMacrosForMsvc();
|
undefineClangVersionMacrosForMsvc();
|
||||||
@@ -727,7 +725,8 @@ void CompilerOptionsBuilder::evaluateCompilerFlags()
|
|||||||
const Core::Id &toolChain = m_projectPart.toolchainType;
|
const Core::Id &toolChain = m_projectPart.toolchainType;
|
||||||
bool containsDriverMode = false;
|
bool containsDriverMode = false;
|
||||||
bool skipNext = false;
|
bool skipNext = false;
|
||||||
for (const QString &option : m_projectPart.compilerFlags) {
|
const QStringList allFlags = m_projectPart.compilerFlags + m_projectPart.extraCodeModelFlags;
|
||||||
|
for (const QString &option : allFlags) {
|
||||||
if (skipNext) {
|
if (skipNext) {
|
||||||
skipNext = false;
|
skipNext = false;
|
||||||
continue;
|
continue;
|
||||||
|
@@ -593,14 +593,14 @@ TEST_F(CompilerOptionsBuilder, BuildAllOptions)
|
|||||||
ASSERT_THAT(compilerOptionsBuilder.options(),
|
ASSERT_THAT(compilerOptionsBuilder.options(),
|
||||||
ElementsAre("-nostdinc",
|
ElementsAre("-nostdinc",
|
||||||
"-nostdinc++",
|
"-nostdinc++",
|
||||||
|
"-arch",
|
||||||
|
"x86_64",
|
||||||
"-fsyntax-only",
|
"-fsyntax-only",
|
||||||
"-m64",
|
"-m64",
|
||||||
"--target=x86_64-apple-darwin10",
|
"--target=x86_64-apple-darwin10",
|
||||||
"-x",
|
"-x",
|
||||||
"c++",
|
"c++",
|
||||||
"-std=c++17",
|
"-std=c++17",
|
||||||
"-arch",
|
|
||||||
"x86_64",
|
|
||||||
"-DprojectFoo=projectBar",
|
"-DprojectFoo=projectBar",
|
||||||
"-I", IsPartOfHeader("wrappedQtHeaders"),
|
"-I", IsPartOfHeader("wrappedQtHeaders"),
|
||||||
"-I", IsPartOfHeader(toNative("wrappedQtHeaders/QtCore").toStdString()),
|
"-I", IsPartOfHeader(toNative("wrappedQtHeaders/QtCore").toStdString()),
|
||||||
|
Reference in New Issue
Block a user