Fix alignment of trailing block comments.

Summary:
This patch ensures that the lines of the block comments retain relative
column offsets. In order to do this WhitespaceManager::Changes representing
continuation of block comments keep a pointer on the change representing the
whitespace change before the block comment, and a relative column offset to this
change, so that the correct column can be reconstructed at the end of alignment
process.

Fixes http://llvm.org/PR19325

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits, klimek

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206472 91177308-0d34-0410-b5e6-96231b3b80d8
Revised per Dmitri's comments. My first exposure to range-based for loops, thanks!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206474 91177308-0d34-0410-b5e6-96231b3b80d8
Bug 18567: Fix constantexpr pointer casts with address spaces.

Getting a pointer into a struct at a non-zero offset would try to
use the default address space.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206478 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format.py: Don't omit the first two words from error messages.

This reverts r172072.  clang-format used to use DiagnosticEngine to output
errors: http://llvm.org/viewvc/llvm-project?view=revision&revision=172071. Now
it doesn't, so this code is obsolete.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206479 91177308-0d34-0410-b5e6-96231b3b80d8
Revised per Dmitri's comments. My first exposure to range-based for loops, thanks!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206483 91177308-0d34-0410-b5e6-96231b3b80d8
Nitpicky refactoring -- use of nullptr and auto, made a bit more const-correct. No functional changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206491 91177308-0d34-0410-b5e6-96231b3b80d8
Add missing serialization code for one of the CXXRecordDecl definition flags.


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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206494 91177308-0d34-0410-b5e6-96231b3b80d8
Making some public members into private members. This also introduces a bit more const-correctness, and now uses some range-based for loops. No functional changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206503 91177308-0d34-0410-b5e6-96231b3b80d8
Follow-up to r206457 -- fix static adjustments for some subtle virtual inheritance cases

Reviewed at http://reviews.llvm.org/D3410

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206504 91177308-0d34-0410-b5e6-96231b3b80d8
MS ABI: Don't append to vbtables that we shouldn't extend

This was probably a benign bug, since nobody would look at the vbtable
slots that we were filling in.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206508 91177308-0d34-0410-b5e6-96231b3b80d8
test: Use llvm-profdata merge in Profile tests

In preparation for using a binary format for instrumentation based
profiling, explicitly treat the test inputs as text and transform them
before running. This will allow us to leave the checked in files in
human readable format once the instrumentation format is binary.

No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206509 91177308-0d34-0410-b5e6-96231b3b80d8
BackendUtil: Pass through -mdisable-tail-calls

The frontend option -fno-optimize-sibling-calls resolves to -cc1's
-mdisable-tail-calls, which is passed to the TargetMachine in the
backend.  PassManagerBuilder was adding the -tailcallelim pass anyway.

Use a new DisableTailCalls option in PassManagerBuilder to disable tail
calls harder.

Requires the matching commit in LLVM that adds DisableTailCalls.

<rdar://problem/16050591>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206543 91177308-0d34-0410-b5e6-96231b3b80d8
Fix a -Wmicrosoft warning on an unrepresentable enum

0x80000000 isn't representable as an int, which is the default enum
type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206545 91177308-0d34-0410-b5e6-96231b3b80d8
ARM64: make sure HFAs on the stack get properly aligned.

Another AAPCS bug, part of PR19432.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206580 91177308-0d34-0410-b5e6-96231b3b80d8
Updating to use more range-based for loops, nullptr and auto. No functional changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206590 91177308-0d34-0410-b5e6-96231b3b80d8
ARM64: make sure the caller is expected to extend in AAPCS.

This is one of those DarwinPCS differences. It'd been caught in
arguments, but not return values.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206594 91177308-0d34-0410-b5e6-96231b3b80d8
Add more constness to module-related APIs


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206595 91177308-0d34-0410-b5e6-96231b3b80d8
Split out the no-thunk multiple inheritance tests

Also, intentionally duplicate base class definitions per test, so it's easier to copy tests while debugging failures

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