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
[OpenCL] Reject reqd_work_group_size(X, Y, Z) where X, Y or Z == 0.

Patch by Pedro Ferreira!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209127 91177308-0d34-0410-b5e6-96231b3b80d8
Fixing some comments in this test. No functional changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209128 91177308-0d34-0410-b5e6-96231b3b80d8
This test is XFAILed on Windows, but I cannot see a reason as to why it should be failing. The original commit which XFAILed this was r111581, which suggested something was wrong with file remapping, but that may have been subsequently fixed.

Removing the XFAIL, but will watch the build bots to see if any go red because of this. Local testing on Windows succeeds.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209130 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] Alpha and implicit checker lists, expand/collapse feature.

The list of alpha and the list of implicit checkers added. An ability to expand/collapse long texts added. Markup fixed.

http://reviews.llvm.org/D3457

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209131 91177308-0d34-0410-b5e6-96231b3b80d8
Fix use-after-free and spurious error during module load

FileManager::invalidateCache is not safe to call when there may be
existing references to the file. What module load failure needs is
to refresh so stale stat() info isn't stored.

This may be the last user of invalidateCache; I'll take a look and
remove it if possible in a future commit.

This caused a use-after-free error as well as a spurious error message
that a module was "found in both 'X.pcm' and 'X.pcm'" in some cases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209138 91177308-0d34-0410-b5e6-96231b3b80d8
This test doesn't need to be XFAILed anywhere; it just needed to be updated to the appropriate diagnostic wording.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209140 91177308-0d34-0410-b5e6-96231b3b80d8
Don't refresh stat() info for pcm files

Follow-up fix for 209138.  Actually, since we already have this file
open, we don't want to refresh the stat() info, since that might be
newer than what we have open (bad!).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209143 91177308-0d34-0410-b5e6-96231b3b80d8
test/CodeGenCXX/dllexport.cpp: -O2 and -disable-llvm-optzns aren't nedded

We only need them on the dllimport.cpp test to make sure that we emit code
for available_externaly functions, and don't inline the IR.

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