diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2018-06-13 10:13:49 +0200 |
---|---|---|
committer | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-06-27 12:57:57 +0000 |
commit | 32614e998313f9859448eb9ae1b78a1bdd467cea (patch) | |
tree | 4347a4a1d0d7756ba25f3e34333d370e006a16d3 /src/plugins/cpptools/compileroptionsbuilder.cpp | |
parent | 7d076e9e260f5de570eb2b8dbd25218e41a3c3e7 (diff) | |
download | qt-creator-32614e998313f9859448eb9ae1b78a1bdd467cea.tar.gz |
Clang: Avoid using -isystem include paths
...as this leads to file locking issues on Windows and pointless
diagnostics we currently ignore when opening files from -isystem include
paths.
The usage of -isystem suppressed warnings from system headers and
resulted in a performance boost. Nowadays we can preserve this
performance optimization by making use of the new
CXTranslationUnit_IgnoreWarningsFromIncludedFiles. This flag helps us
also to suppress diagnostics from clang tidy checks, which reported
diagnostics even for -isystem headers.
Change-Id: I33e1f7169e2ff9f17c811565a5324b9da4740701
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.cpp')
-rw-r--r-- | src/plugins/cpptools/compileroptionsbuilder.cpp | 27 |
1 files changed, 1 insertions, 26 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 786d874786..3c2dba239e 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -129,28 +129,10 @@ void CompilerOptionsBuilder::enableExceptions() add(QLatin1String("-fexceptions")); } -static Utils::FileName absoluteDirectory(const QString &filePath) -{ - return Utils::FileName::fromString(QFileInfo(filePath + '/').absolutePath()); -} - -static Utils::FileName projectTopLevelDirectory(const ProjectPart &projectPart) -{ - if (!projectPart.project) - return Utils::FileName(); - const Utils::FileName result = projectPart.project->projectDirectory(); - const Utils::FileName vcsTopLevel = Utils::FileName::fromString( - Core::VcsManager::findTopLevelForDirectory(result.toString())); - if (result.isChildOf(vcsTopLevel)) - return vcsTopLevel; - return result; -} - void CompilerOptionsBuilder::addHeaderPathOptions() { typedef ProjectPartHeaderPath HeaderPath; const QString defaultPrefix = includeDirOption(); - const Utils::FileName projectDirectory = projectTopLevelDirectory(m_projectPart); QStringList result; @@ -170,14 +152,7 @@ void CompilerOptionsBuilder::addHeaderPathOptions() default: // This shouldn't happen, but let's be nice..: // intentional fall-through: case HeaderPath::IncludePath: - path = absoluteDirectory(headerPath.path); - if (projectDirectory.isEmpty() - || path == projectDirectory - || path.isChildOf(projectDirectory)) { - prefix = defaultPrefix; - } else { - prefix = SYSTEM_INCLUDE_PREFIX; - } + prefix = defaultPrefix; break; } |