Update for llvm change to avoid having global flag setting in TargetMachine.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209239 91177308-0d34-0410-b5e6-96231b3b80d8
VirtualFileSystem: Add YAMLVFSWriter to generate VFS mapping files

This moves the logic to write a JSON VFS mapping from the C api into
VirtualFileSystem, so that we can use it internally.

No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209241 91177308-0d34-0410-b5e6-96231b3b80d8
RAV reunification: merge r190728

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209244 91177308-0d34-0410-b5e6-96231b3b80d8
RAV reunification: merge DISPATCH_STMT() macro back to standard RAV

Also add the missing undef in both files.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209245 91177308-0d34-0410-b5e6-96231b3b80d8
RAV reunification: merge Lambda body visitation to DRAV

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209246 91177308-0d34-0410-b5e6-96231b3b80d8
Reduce string duplication

If we're so keen on saving a dynamic allocation to add the trailing space, we
might as well do it in style.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209247 91177308-0d34-0410-b5e6-96231b3b80d8
VirtualFileSystem: Fix false positives in YAMLVFSWriter::containedIn

Checking if a path starts with another path isn't sufficient for
determining if one is contained within the heirarchy of the other.
We need to ensure that the substring ends at a directory boundary.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209250 91177308-0d34-0410-b5e6-96231b3b80d8
Make this test emit llvm IR rather than assembly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209255 91177308-0d34-0410-b5e6-96231b3b80d8
libclang: Give each VirtualFileOverlay unit test its own name

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209257 91177308-0d34-0410-b5e6-96231b3b80d8
Remove test. Replacing it with a backend test with the optimized IR.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209260 91177308-0d34-0410-b5e6-96231b3b80d8
Update for paired llvm commit with AsmVerbose.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209261 91177308-0d34-0410-b5e6-96231b3b80d8
[objcmt] Make sure we don't edit the return type to add 'instancetype' if the return type is already that.

rdar://16961577

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209264 91177308-0d34-0410-b5e6-96231b3b80d8
SourceManager: Use setMainFileID() consistently

Eliminate createMainFileID() / createMainFileIDForMemBuffer() utility
functions. These didn't add much convenience and conflated two distinct
operations.

This change makes things easier to follow by providing a consistent interface
and getting rid of a bunch of cast-to-voids.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209266 91177308-0d34-0410-b5e6-96231b3b80d8
utils/CmpDriver: add brief documentation to indicate what this does

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209268 91177308-0d34-0410-b5e6-96231b3b80d8
[C++11] Use 'nullptr'. CodeGen edition.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209272 91177308-0d34-0410-b5e6-96231b3b80d8
[C++11] Use 'nullptr'. Parser edition.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209275 91177308-0d34-0410-b5e6-96231b3b80d8
Preprocessor: support defined() with operator names for MS compatibility

Also flesh out missing tests, improve diagnostic QOI and fix a couple of corner
cases found in the process.

Fixes PR10606.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209276 91177308-0d34-0410-b5e6-96231b3b80d8
DeclVisitor is not used here.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209285 91177308-0d34-0410-b5e6-96231b3b80d8
Make global named registers internal variables

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209289 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: [JS] Support different function literal style.

Before:
  goog.array.forEach(array, function() {
                              doSomething();
                              doSomething();
                            },
                     this);

After:
  goog.array.forEach(array, function() {
    doSomething();
    doSomething();
  }, this);

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209291 91177308-0d34-0410-b5e6-96231b3b80d8