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
[Modules] Update Clang's two files that use DEBUG(...) without defining
DEBUG_TYPE to do so. LLVM's Debug.h requires this as of r206822.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206823 91177308-0d34-0410-b5e6-96231b3b80d8
Allow adding a value to a flag in diagnostics.

Summary:
This allows callers of Diags.Report() to append a value to the name of
the flag associated with the diagnostic. This is useful in cases like
the -Rpass flag, where we want the diagnostic to show the name of the
pass that matched the pattern. Instead of showing "... [-Rpass]", this
allows us to show "... [-Rpass=passname]".

Reviewers: rsmith

CC: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206826 91177308-0d34-0410-b5e6-96231b3b80d8
Thread safety analysis:  misc updates to SExpr handling.  Fix to minimal SSA,
function parameters, and compound assignment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206827 91177308-0d34-0410-b5e6-96231b3b80d8
Move the warning of implicit cast of a floating point to an integer out of
-Wconversion and into it's own group, -Wfloating-point-conversion.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206832 91177308-0d34-0410-b5e6-96231b3b80d8
Move the C++11 ExtWarn for converting a string literal to 'char*' out of
-Wc++11-compat-deprecated-writable-strings. It's neither a C++11 compatibility
warning nor a deprecated feature, it's just ill-formed.

In passing, add that warning to -Wdeprecated, where it belongs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206833 91177308-0d34-0410-b5e6-96231b3b80d8
[Modules] Fix potential ODR violations by sinking the DEBUG_TYPE
definition below all of the header #include lines, clang edition.

If you want more details about this, you can see some of the commits to
Debug.h in LLVM recently. This is just the clang section of a cleanup
I've done for all uses of DEBUG_TYPE in LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206849 91177308-0d34-0410-b5e6-96231b3b80d8
Update clang/test/PCH/single-token-macro.c corresponding to r206791.

__stdcall is defined as __attribute__((__stdcall__)) for targeting mingw32.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206870 91177308-0d34-0410-b5e6-96231b3b80d8
DiagnosticsEngine::Report(): Fix a warning. [-Wdocumentation]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206871 91177308-0d34-0410-b5e6-96231b3b80d8
Comment parsing: in the generated XML file, mark HTML that is safe to pass
through to the output even if the input comment comes from an untrusted source

Attribute filtering is currently based on a blacklist, which right now includes
all event handler attributes (they contain JavaScipt code).  It should be
switched to a whitelist, but going over all of the HTML5 spec requires a
significant amount of time.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206882 91177308-0d34-0410-b5e6-96231b3b80d8
Comment parsing: close a hole in CDATA escaping in XML output


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206886 91177308-0d34-0410-b5e6-96231b3b80d8
ARM64: update NEON test to improved backend codegen

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206890 91177308-0d34-0410-b5e6-96231b3b80d8
[OPENMP] parsing 'linear' clause (for directive 'omp simd')

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



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206891 91177308-0d34-0410-b5e6-96231b3b80d8
Try to fix warnings to escape '@' as '\@'. [-Wdocumentation-html]

  clang/include/clang/Format/Format.h:185:8: error: HTML tag 'tt' requires an end tag [-Werror,-Wdocumentation-html]
    /// <tt>@property (readonly)</tt> instead of <tt>@property(readonly)</tt>.
        ~^~~

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206893 91177308-0d34-0410-b5e6-96231b3b80d8
Thread safety analysis: fix warning.

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