From e51683412b311aaafbf4c649a514695c4e7a156c Mon Sep 17 00:00:00 2001 From: Ivan Donchevskii Date: Fri, 15 Dec 2017 15:28:13 +0100 Subject: ProjectPart: save codegen flags in project part And add them to other clang code model arguments. These flags provide architecture for cross-compilation when ios kit is selected. Task-number: QTCREATORBUG-19437 Task-number: QTCREATORBUG-19430 Change-Id: I7a485f49d637371bb28b2096086d7d8a4b0c404a Reviewed-by: Tobias Hunger --- src/plugins/cpptools/compileroptionsbuilder.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/plugins/cpptools/compileroptionsbuilder.cpp') diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 8164009bf1..26a133824a 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -52,6 +52,7 @@ QStringList CompilerOptionsBuilder::build(CppTools::ProjectFile::Kind fileKind, addWordWidth(); addTargetTriple(); + addExtraCodeModelFlags(); addLanguageOption(fileKind); addOptionsForLanguage(/*checkForBorlandExtensions*/ true); enableExceptions(); @@ -104,6 +105,14 @@ void CompilerOptionsBuilder::addTargetTriple() } } +void CompilerOptionsBuilder::addExtraCodeModelFlags() +{ + // extraCodeModelFlags keep build architecture for cross-compilation. + // In case of iOS build target triple has aarch64 archtecture set which makes + // code model fail with CXError_Failure. To fix that we explicitly provide architecture. + m_options.append(m_projectPart.extraCodeModelFlags); +} + void CompilerOptionsBuilder::enableExceptions() { add(QLatin1String("-fcxx-exceptions")); -- cgit v1.2.1