Print "(default)" for default template template arguments to match the
printing of other types.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213902 91177308-0d34-0410-b5e6-96231b3b80d8
Pass the PrintingPolicy when converting types to strings in template type
diffing.  This removes extra "struct"/"class" in the type names and gives
"bool" instead of "_Bool" for booleans.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213912 91177308-0d34-0410-b5e6-96231b3b80d8
PR20445: Properly transform the initializer in a CXXNewExpr rather than running
it through the normal TreeTransform logic for Exprs (which will strip off
implicit parts of the initialization and never re-create them).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213913 91177308-0d34-0410-b5e6-96231b3b80d8
clang-cl: Merge adjacent single-line __asm blocks

Summary:
This patch extends the __asm parser to make it keep parsing input tokens
as inline assembly if a single-line __asm line is followed by another line
starting with __asm too.  It also makes sure that we correctly keep
matching braces in such situations by separating the notions of how many
braces we are matching and whether we are in single-line asm block mode.

Reviewers: rnk

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213916 91177308-0d34-0410-b5e6-96231b3b80d8
Fix test/CodeGen/ms-inline-asm.cpp from r213916.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213918 91177308-0d34-0410-b5e6-96231b3b80d8
Fix test/CodeGen/ms-inline-asm.c from r213916.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213919 91177308-0d34-0410-b5e6-96231b3b80d8
[modules] Substantially improve handling of #undef:

 * Track override set across module load and save
 * Track originating module to allow proper re-export of #undef
 * Make override set properly transitive when it picks up a #undef

This fixes nearly all of the remaining macro issues with self-host.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213922 91177308-0d34-0410-b5e6-96231b3b80d8
[OPENMP] Improved DSA processing of the loop control variables for loop directives.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213925 91177308-0d34-0410-b5e6-96231b3b80d8
[OPENMP] Improved codegen for outlined functions for 'parallel' directives.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213927 91177308-0d34-0410-b5e6-96231b3b80d8
Revert part of r206963

Specifically the part where we removed a warning to be compatible with GCC, which has been widely regarded as a bad idea.

I'm not quite happy with how obtuse this warning is, especially in the fairly common case of a 32-bit integer literal, so I've got another patch awaiting review that adds a fixit to reduce confusion.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213935 91177308-0d34-0410-b5e6-96231b3b80d8
[Driver][Mips] Remove "fp64" directories from the mips-mti-linux-gnu toolchain
directories description. Released version of this toolchain has not separate
libraries for -mfp64 command line option.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213937 91177308-0d34-0410-b5e6-96231b3b80d8
clang-cl: Add support for /Zp

CL's /Zp flag is analogous to GCC's -fpack-struct, it controls the
default maximum alignment of records.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213958 91177308-0d34-0410-b5e6-96231b3b80d8
Return a StringRef in getDefaultUniversalArchName.

Patch by Stephen Drake.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213964 91177308-0d34-0410-b5e6-96231b3b80d8
Objective-C. Warn if protocol used in an @protocol
expression is a forward declaration as this results
in undefined behavior. rdar://17768630


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213968 91177308-0d34-0410-b5e6-96231b3b80d8
Revert r213437
We no longer plan to use __except_hander3 and rather use custom 
personality functions per __try block.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213971 91177308-0d34-0410-b5e6-96231b3b80d8
Now that PIC generation on PPC32 is supported, hook up linking support
for NetBSD.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213972 91177308-0d34-0410-b5e6-96231b3b80d8
MS ABI: Don't push destructor cleanups for aggregate parameters in thunks

The target method of the thunk will perform the cleanup.  This can't be
tested in 32-bit x86 yet because passing something by value would create
an inalloca, and we refuse to generate broken code for that.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213976 91177308-0d34-0410-b5e6-96231b3b80d8
Fix my busted FileCheck invocation

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213978 91177308-0d34-0410-b5e6-96231b3b80d8
Fix my broken test case in NDEBUG  :(

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213979 91177308-0d34-0410-b5e6-96231b3b80d8
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