Lexer.cpp: Fix a warning with ptrdiff_t on i686. [-Wsign-compare]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173447 91177308-0d34-0410-b5e6-96231b3b80d8
Fix some alignment and line break decisions.

This combines two small changes:
1) Put a penalty on breaking after "<"
2) Only produce a hanging indent when parameters are separated by
commas.

Before:
aaaaaaaaaaaaaaaaaaaaaaaa<
    aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaa>(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
aaaaaa(new Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
               aaaaaaaaaaaaaaaaaaaaaaaaaaaaa));

After:
aaaaaaaaaaaaaaaaaaaaaaaa<aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaa>(
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
aaaaaa(new Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaa));

This changes one ObjC test, but AFAICT this is not according to any
style guide (neither before nor after). We probably should be aligning
on the ":" there according to:
http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml?showone=Method_Invocations#Method_Invocations

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173457 91177308-0d34-0410-b5e6-96231b3b80d8
Don't suggest to insert [[clang::fallthrough]] before empty cases. Fix for multiple case labels.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173458 91177308-0d34-0410-b5e6-96231b3b80d8
Improve diagnsotic further on integer overflow.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173461 91177308-0d34-0410-b5e6-96231b3b80d8
Add space after ';'.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173462 91177308-0d34-0410-b5e6-96231b3b80d8
[tests] Add a test for -iwithprefix.

 - This just scratches the surface, We have pretty horrible test coverage in
   this area it seems like, but this at least covers the change in r173410.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173464 91177308-0d34-0410-b5e6-96231b3b80d8
[tests] Force a triple to ensure /usr/include is one of the entries.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173469 91177308-0d34-0410-b5e6-96231b3b80d8
Migrate tests to -verify and merge them


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173482 91177308-0d34-0410-b5e6-96231b3b80d8
FileCheck'ize tests


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173484 91177308-0d34-0410-b5e6-96231b3b80d8
Silence unintended fallthrough diagnostic on a case label preceded with a normal label.

Summary:
It's unlikely that a fallthrough is unintended in the following code:
switch (n) {
...
  label:
  case 1:
...
    goto label;
...
}

Reviewers: rsmith, doug.gregor

Reviewed By: doug.gregor

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D329

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173486 91177308-0d34-0410-b5e6-96231b3b80d8
[utils] Remove C++Tests that I don't think anyone uses anymore.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173490 91177308-0d34-0410-b5e6-96231b3b80d8
[utils] Remove the OptionalTests subdir no one runs.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173492 91177308-0d34-0410-b5e6-96231b3b80d8
Migrate test from grep to -fdiagnostics-parseable-fixits


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173496 91177308-0d34-0410-b5e6-96231b3b80d8
This test actually passes, just add the missing expected-error


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173504 91177308-0d34-0410-b5e6-96231b3b80d8
Temporarily disabling ms-asm test

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173510 91177308-0d34-0410-b5e6-96231b3b80d8
Remove useless 'XPASS: *' from tests


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173511 91177308-0d34-0410-b5e6-96231b3b80d8
Optimize ModuleManager::visit() by precomputing the visitation order
and limiting ourselves to two memory allocations. 10% speedup in
-fsyntax-only time for modules.

With this change, we can actually see some performance different from
the global module index, but it's still about 1%.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173512 91177308-0d34-0410-b5e6-96231b3b80d8
First pass at abstracting out a class for the target C++ ABI.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173514 91177308-0d34-0410-b5e6-96231b3b80d8
The standard ARM C++ ABI dictates that inline functions are
never key functions.  We did not implement that rule for the
iOS ABI, which was driven by what was implemented in gcc-4.2.
However, implement it now for other ARM-based platforms.

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