diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2016-07-01 15:07:32 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2016-07-04 13:08:03 +0000 |
commit | 36e7f4541f071a1cce21c8ad12cf6e580f026674 (patch) | |
tree | 20d15cae73238bb106e7cdaeed7d4f82f3e66f66 /src/plugins/cpptools/compileroptionsbuilder.h | |
parent | a12184ea32752fc002965d27a513d3e4df47ca83 (diff) | |
download | qt-creator-36e7f4541f071a1cce21c8ad12cf6e580f026674.tar.gz |
Clang: Pass on file paths with native separators
libclang 3.8 seems to be sensitive to file paths separators [1]. On Windows,
this led to not updated document annotations and/or crashes after reparsing.
When passing file paths to libclang, convert to native separators.
When getting file paths from libclang, convert back.
This handles:
* main file path
* file paths of the unsaved files
* -I<DIR> arguments, the resource path (for builtins) and the paths to the
wrapped qt headers
* included header files from libclang
* source locations from libclang
Also, minimize the conversion in SourceLocation to a minimum by making
filePath() lazy.
[1] https://llvm.org/bugs/show_bug.cgi?id=28381
Change-Id: If5866f34a6fdc6b34b16c022d3988e8e6eae2a0a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.h')
-rw-r--r-- | src/plugins/cpptools/compileroptionsbuilder.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.h b/src/plugins/cpptools/compileroptionsbuilder.h index f24105f2f2..4ef43b53da 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.h +++ b/src/plugins/cpptools/compileroptionsbuilder.h @@ -46,7 +46,7 @@ public: // Add options based on project part virtual void addTargetTriple(); virtual void enableExceptions(); - void addHeaderPathOptions(); + void addHeaderPathOptions(bool addAsNativePath = false); void addToolchainAndProjectDefines(); virtual void addLanguageOption(ProjectFile::Kind fileKind); virtual void addOptionsForLanguage(bool checkForBorlandExtensions = true); |