[VFS] More consistent support for Windows
authorAdrian McCarthy <amccarth@google.com>
Wed, 22 Jan 2020 00:45:51 +0000 (16:45 -0800)
committerAdrian McCarthy <amccarth@google.com>
Wed, 5 Feb 2020 19:38:20 +0000 (11:38 -0800)
commitda45bd232165eab5d6ec4f1f4f18db8644289142
treec8b77a66c788fd9875411edffed4d07a858fe3cd
parent5aa6e246a1e44655a66581bc2ca6a20e3051e7e9
[VFS] More consistent support for Windows

Removed some #ifdefs specific to Windows handling of VFS paths.  This
eliminates most of the differences between the Windows and non-Windows
code paths.

Making this work required some changes to account for the fact that VFS
file paths can be Posix style or Windows style, so you cannot just assume
that they use the host's native path style.  In one case, this means
implementing our own version of make_absolute, since the filesystem code
in Support doesn't have styles in the sense that the path code does.

Differential Review: https://reviews.llvm.org/D71092
clang/test/VFS/external-names.c
llvm/include/llvm/Support/VirtualFileSystem.h
llvm/lib/Support/VirtualFileSystem.cpp
llvm/unittests/Support/VirtualFileSystemTest.cpp