Add test case for fix of linkage bug that miscompiled variable templates instantiated from similarly named local types (cf. r212233)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213987 91177308-0d34-0410-b5e6-96231b3b80d8
MS ABI: Ensure 'this' is first for byval+sret methods

Previously we were building up the inalloca struct in the usual pattern
of return type followed by arguments.  However, on Windows, 'this'
always precedes the 'sret' parameter, so we need to insert it into the
struct first as a special case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213990 91177308-0d34-0410-b5e6-96231b3b80d8
clang/test/CodeGenCXX/cxx1y-variable-template-linkage.cpp: Appease -Asserts build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213992 91177308-0d34-0410-b5e6-96231b3b80d8
Use -enable-global-merge option to match llvm r210639. <rdar://problem/17803206>

llvm revision 210639 renamed the -global-merge backend option to
-enable-global-merge. This change simply updates clang to match that.

Patch by Steven Wu!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213993 91177308-0d34-0410-b5e6-96231b3b80d8
Improve -UNDEBUG binary size. We don't need a different assert fail message for
each different enum value here.


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