]> granicus.if.org Git - clang/commit
[modules] Instead of storing absolute paths in a .pcm file, store the path to
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 5 Dec 2014 22:42:13 +0000 (22:42 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 5 Dec 2014 22:42:13 +0000 (22:42 +0000)
commit69442eb44392083cd70e74825ea7f9a28fb70bee
tree8583e3edca533598dfac48d91b9faa8f8ea22645
parent68ffc1e1cef9341ab6416044158c7670cd48f6ad
[modules] Instead of storing absolute paths in a .pcm file, store the path to
the root of the module and use paths relative to that directory wherever
possible. This is a step towards allowing explicit modules to be relocated
without being rebuilt, which is important for some kinds of distributed builds,
for good paths in diagnostics, and for appropriate .d output.

This is a recommit of r223443, reverted in r223465; when joining together
imported file paths, we now use the system's separator rather than always
using '/'. This avoids path mismatches between the original module build and
the module user on Windows (at least, in some cases). A more comprehensive
fix will follow.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223539 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Serialization/ASTBitCodes.h
include/clang/Serialization/ASTReader.h
include/clang/Serialization/ASTWriter.h
include/clang/Serialization/Module.h
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTReaderInternals.h
lib/Serialization/ASTWriter.cpp