Follow-up to r199120: don't try referencing the dtor if the param decl isn't valid.

This was caught by running test/SemaCXX/destructor.cpp in MS ABI mode.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199128 91177308-0d34-0410-b5e6-96231b3b80d8
[ms-abi] Quick fix layout of an array of records

This fixes llvm::SmallVector, which fixes lots of TUs in the MS ABI self
host.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199129 91177308-0d34-0410-b5e6-96231b3b80d8
Update tests in preparation for using the MS ABI for Win32 targets

In preparation for making the Win32 triple imply MS ABI mode,
make all tests pass in this mode, or make them use the Itanium
mode explicitly.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199130 91177308-0d34-0410-b5e6-96231b3b80d8
Use the MS ABI for Win32 targets by default

In addition to being a sensible default, this is a huge improvement
in test coverage for the MS ABI: any bot that targets Win32 will
now run the test suite using the MS ABI by default.

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

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