CodeGen: remove MinGW and Cygwin legacy entries

These are now treated as environments.  Remove references to these enumeration
values in order to clean up the unused enumeration entries in LLVM.  The target
normalisation prior to tool invocation should ensure that the old values
continue to function properly.

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

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209070 91177308-0d34-0410-b5e6-96231b3b80d8
Update for llvm api change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209074 91177308-0d34-0410-b5e6-96231b3b80d8
Update for llvm api change.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209083 91177308-0d34-0410-b5e6-96231b3b80d8
Driver: force restricted IT blocks for Windows on ARM

Windows on ARM expects ARMv8 (restricted IT) conditional instructions only.
Force enable the restricted IT mode via the backend option when targeting WoA.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209087 91177308-0d34-0410-b5e6-96231b3b80d8
Remove historical Unicode TODOs

There's no immediate demand or plan to work on these.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209090 91177308-0d34-0410-b5e6-96231b3b80d8
Begin RAV reunification: s/DataRecursiveASTVisitor/RecursiveASTVisitor/

Define a macro to reduce the delta between RecursiveASTVisitor and
DataRecursiveASTVisitor.

Some years ago, someone thought it was a good idea to copy the entire RAV to
support cursor visitation in libclang.

Since then the two have diverged needlessly and the rest is history.

This series of commits aims to reduce delta between the two so that we can
reason about their differences, apply bugfixes that were only made to one but
not the other, and ultimately find a way to unify two two chunks of code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209091 91177308-0d34-0410-b5e6-96231b3b80d8
Format the two RecursiveASTVisitors

Apply current ToT clang-format on the two RAVs to reduce delta and help
identify differences between the two.

We lose a little pretty formatting in the headers but that's the price to pay
so we can diff these two files effectively and look to a future where we don't
have to maintain two copies of this code.

Formatting and whitespace only.

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

 * Shuffle around code to reduce delta between the two RAVs.
 * Merge r189185 that was applied only to one of the RAVs and became apparent during the unification work.
 * Fix Enqueue data recursion typo.

Our delta is down to +-579!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209093 91177308-0d34-0410-b5e6-96231b3b80d8
RAV reunification: merge r162133 (visit the TypeLoc when RecursiveASTVisitor visits a CompoundLiteralExpr)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209100 91177308-0d34-0410-b5e6-96231b3b80d8
RAV reunification: MSPropertyRefExpr visitation

r179585 introduced different MSPropertyRefExpr visitation for RAV and DRAV that
appears to have been unintentional. Let's use the more complete one.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209101 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: [JS] Support for EC6 arrow functions.

Before:
  var b = a.map((x) = > x + 1);

After:
  var b = a.map((x) => x + 1);

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209112 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: [JS] Support ES6 destructuring assignments.

Before:
  var[a, b, c] = [1, 2, 3];

After:
  var [a, b, c] = [1, 2, 3];

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209113 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Don't force line breaks in ObjC calls with ColumnLimit 0.

Before:
  [self.x a:b c:d];

Got reformatted toi (with ColumnLimit set to 0):
  [self.x a:b
          c:d];

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209114 91177308-0d34-0410-b5e6-96231b3b80d8
Make the ARCMT tests self-contained.

This is necessary to reduce staging times on parallel build systems.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209120 91177308-0d34-0410-b5e6-96231b3b80d8
ARM: PCS non-compliance when struct is padded to avoid register/stack split, and requires internal padding

When we were padding a struct to avoid splitting it between registers and
the stack, we were throwing away the type which the argument should be coerced
to.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209122 91177308-0d34-0410-b5e6-96231b3b80d8
Pass -gdwarf-N options to integrated assembler


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