Specify the name of the generated header only once. NFC.
This will also simplify a private patch that we have.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223537 91177308-0d34-0410-b5e6-96231b3b80d8
ASTDumper: print whether a function is constexpr

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223538 91177308-0d34-0410-b5e6-96231b3b80d8
[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