When a module completes the definition of a class template specialization imported from another module, emit an update record, rather than using the broken decl rewriting mechanism. If multiple modules do this, merge the definitions together, much as we would if they were separate declarations.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206680 91177308-0d34-0410-b5e6-96231b3b80d8
Thread Safety Analysis:  Convert to minimal SSA.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206681 91177308-0d34-0410-b5e6-96231b3b80d8
Speculative fix for buildbot failure. Apparently Clang 3.1 got move semantics wrong.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206682 91177308-0d34-0410-b5e6-96231b3b80d8
clang/test/Index/pch-with-errors.c: Remove XFAIL added in r206294. It has been fixed since r206644.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206685 91177308-0d34-0410-b5e6-96231b3b80d8
Re-enable the C++11 modules integration test on OS X

XCode 5.1.1 has shipped with fixed SDK headers.

This reverts commit r200256.

Fixes PR18322.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206686 91177308-0d34-0410-b5e6-96231b3b80d8
Move ObjC Cocoa.h header test to Headers

This tests for broad compatibility with platform SDK headers using the clang
driver and so belongs alongside the other header ingtegration tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206687 91177308-0d34-0410-b5e6-96231b3b80d8
Disallow driver use in more Sema tests

There are now only a handful of Sema tests remaining that use %clang in
SemaCXX, SemaObjC and SemaTemplate.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206688 91177308-0d34-0410-b5e6-96231b3b80d8
Fix and restore the macro-multiline.c test

This test didn't work as intended and was ultimately disabled some years ago in
r169458.

Indeed it's not clear if the '\n' was ever passed through to the driver
correctly given that lit would insert '&& {' at the newline.

Test rewritten to use printf/xargs to insert '\n' in a more reliable manner and
to use FileCheck for verification.

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

Cleanup only.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206709 91177308-0d34-0410-b5e6-96231b3b80d8
cindex.py: Avoid deprecated function

Implement Diagnostic::category_name() using clang_getDiagnosticCategoryText()
instead of the deprected clang_getDiagnosticCategoryName().

Preserves existing behaviour and API covered by existing tests.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206728 91177308-0d34-0410-b5e6-96231b3b80d8
ARM64: Do not expand variadic HFA/HVA arguments with the Darwin ABI.

Unlike the standard AAPCS64 ABI, variadic arguments are always passed on the
stack with the Darwin ABI, and this was not being considered when deciding
whether to expand HFA/HVA arguments in a call. An HFA argument with a "float"
base type was being expanded into separate "float" arguments, each of which
was then extended to a double, resulting in a serious mismatch from what is
expected by the va_arg implementation. <rdar://problem/15777067>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206729 91177308-0d34-0410-b5e6-96231b3b80d8
Initialize clang::Module::IsMissingRequirement. Fix msan issue and hopefully some builder failures.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206736 91177308-0d34-0410-b5e6-96231b3b80d8
Handle possible trailing '/' in xcode-select output.  Patch by Jeff Olson.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206752 91177308-0d34-0410-b5e6-96231b3b80d8
Allow submodule inferrences with a missing umbrella when the module is unavailable

If the module is unavailable because of a missing header, don't diagnose
a "module * {}" declaration for having a missing umbrella.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206776 91177308-0d34-0410-b5e6-96231b3b80d8
Objective-C. Patch to allow use of dot syntax on class
objects to fund root class's instance methods.
// rdar://16650575


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206781 91177308-0d34-0410-b5e6-96231b3b80d8
Split out the rest of MS ABI multiple inheritance tests

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@206782 91177308-0d34-0410-b5e6-96231b3b80d8
MinGW: Define __stdcall&co when -fms-extensions is disabled

This is for compatibility with GCC.

Reviewers: asl

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206791 91177308-0d34-0410-b5e6-96231b3b80d8
Try to fix bad Twine usage in r206791 with std::string

I'm pretty sure I was referencing destroyed temporaries here.  I'm open
to suggestions on how to write this better.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206804 91177308-0d34-0410-b5e6-96231b3b80d8
[Modules] Remove the only use of the DEBUG(...) macro in the compiler
parts of Clang. I don't really have any opinion about whether using that
macro is good or bad, but its odd that this is the only one, and Eric
seemed happy with just nuking it for now.

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