clang-format: Fix incorrect lambda recognition exposed by r203452.

Before:
  int i = a[a][a] -> f();

After:
  int i = a[a][a]->f();

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@203556 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Fix another false positive in the lambda detection.

Before:
  int i = (*b)[a] -> f();

After:
  int i = (*b)[a]->f();

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@203557 91177308-0d34-0410-b5e6-96231b3b80d8
Update for IR: add a second AtomicOrdering to cmpxchg insts.

rdar://problem/15996804

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@203560 91177308-0d34-0410-b5e6-96231b3b80d8
Sema: produce error when invalid ordering is passed to atomic builtin

This is a conservative check, because it's valid for the expression to be
non-constant, and in cases like that we just don't know whether it's valid.

rdar://problem/16242991

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