• Nikolai Kosjar's avatar
    Clang: Pass on file paths with native separators · 36e7f454
    Nikolai Kosjar authored
    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's avatarChristian Stenger <christian.stenger@qt.io>
compileroptionsbuilder.h 2.4 KB