clang-format: [Java] Don't force break before generic type method.

Before:
  Foo.bar()
      .<X>
      baz();

After:
  Foo.bar()
      .<X>baz();

Patch by Harry Terkelsen.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222423 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: [Java] Don't align after "return".

Doesn't seem to be common practice in Java.

Before:
  return aaaaaaaaaaaaaaaaaaa
         && bbbbbbbbbbbbbbbbbbb
         && ccccccccccccccccccc;

After:
  return aaaaaaaaaaaaaaaaaaa
      && bbbbbbbbbbbbbbbbbbb
      && ccccccccccccccccccc;

Patch by Harry Terkelsen.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222424 91177308-0d34-0410-b5e6-96231b3b80d8
Convert CR+LF -> LF in a test file

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222429 91177308-0d34-0410-b5e6-96231b3b80d8
Replace variadic operator function pointer with an enum value.

Summary:
Replace variadic operator function pointer with an enum value.
Hiding the implementation of the variadic matcher will allow to specialize them for the operation performed.
In particular, it will allow for a more efficient allOf() matcher.

Reviewers: klimek

Subscribers: klimek, cfe-commits

Differential Revision: http://reviews.llvm.org/D6293

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222432 91177308-0d34-0410-b5e6-96231b3b80d8
Prepare for the DIBuilder populating DISubprogram's Variables with null.

This is a followup to r222373. A better solution to the problem solved
there is to not create the leaked nodes at all (we know that they will
never be used for forward declared functions anyway). To avoid bot
breakage in the interval between the cfe and llvm commits, add a check
that the nMDNode is not null before deleting it. This code can completely
go away after the LLVM part is in.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222433 91177308-0d34-0410-b5e6-96231b3b80d8
Remove now dead code.

After LLVM r222434, the Variables field of DISubprograms for forward
declarations will always be null. No need to keep code around to
delete them.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222438 91177308-0d34-0410-b5e6-96231b3b80d8
Extended list of valid frontend options with '-cl-std=CL2.0'.

This option sets language mode for the compilation of a source file to be OpenCL v2.0.

Example: clang -cc1 -cl-std=CL2.0 myfile.cl



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222444 91177308-0d34-0410-b5e6-96231b3b80d8
Bring PostOrderCFGView's insert API up to date with other API changes.

r222334 updates LLVM data structure's insert API to return a
pair. This change updates PostOrderCFGView accordingly, so that it can
be used interchangably with other sets.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222445 91177308-0d34-0410-b5e6-96231b3b80d8
The Syntax enumeration requires at least three bits to store all of its values. Increase the number of bits for SyntaxUsed. Decrease the number of expression arguments allowed by a single bit so that the bit fields continue to add up to 32-bits evenly.

There is no test for this fix because I could find no reasonable way to trigger a visible failure from it.

Thanks to Doug Gregor for spotting this!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222456 91177308-0d34-0410-b5e6-96231b3b80d8
Correctly set the SourceRange a TypoCorrection will replace.

Also clean up TypoCorrection::setCorrectionRange while we're at it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222460 91177308-0d34-0410-b5e6-96231b3b80d8
Add a few small helper methods to the TypoCorrectionConsumer.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222461 91177308-0d34-0410-b5e6-96231b3b80d8
Factor out the default recovery handling.

The default handling is extended to properly create member expressions
and Objective-C ivar references.

Also detect and reject cases where multiple corrections have identical
correction distances and are valid, instead of suggesting the first one
that is found.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222462 91177308-0d34-0410-b5e6-96231b3b80d8
Add a flag to BuildDeclarationNameExpr to not reject invalid decls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222463 91177308-0d34-0410-b5e6-96231b3b80d8
Wire up delayed typo correction to DiagnoseEmptyLookup and set up
Sema::ActOnIdExpression to use the new functionality.

Among other things, this allows recovery in several cases where it
wasn't possible before (e.g. correcting a mistyped static_cast<>).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222464 91177308-0d34-0410-b5e6-96231b3b80d8
Ensure all TypoExprs are diagnosed by the tree transform.

If there is more than one TypoExpr within the expr being transformed and
any but the last TypoExpr seen don't have any viable candidates, the
tree transform will be aborted early and the remaining TypoExprs are
never seen and hence never diagnosed. This adds a simple
RecursiveASTVisitor to find all of the TypoExprs to be diagnosed in the
case where typo correction of the entire expr fails (and the result of
the tree transform is an ExprError).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222465 91177308-0d34-0410-b5e6-96231b3b80d8
PR21565: Further refine the conditions for enabling eager parsing of
std::X::swap exception specifications (allowing parsing of non-conforming code
in libstdc++). The old conditions also matched the functions in MSVC's STL,
which were relying on deferred parsing here.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222471 91177308-0d34-0410-b5e6-96231b3b80d8
Intercept __crt_va_* used by MSVC "14"

Moving further into the implementor's namespace is good, but now we have
one more name to intercept.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222473 91177308-0d34-0410-b5e6-96231b3b80d8
Fix crash-on-valid if a lambda-expression appears lexically directly within a
local class inside a template.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222476 91177308-0d34-0410-b5e6-96231b3b80d8
Move test from r222476 to a better place; this was reduced to the point that it
no longer contained a generic lambda.


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