clang/test/Driver/coverage-ld.c: Tweak expressions to match dosish pathsep on win32 hosts.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184726 91177308-0d34-0410-b5e6-96231b3b80d8
clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp: Suppress unexpected failures on MS hosts.

FIXME: A couple of tests have been suppressed.
I know it'd be bad with _MSC_VER here, though.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184727 91177308-0d34-0410-b5e6-96231b3b80d8
[Sema] Call CheckParmForFunctionDef on ObjC method parameters

CheckParmForFunctionDef performs standard checks for type completeness
and other things like a destructor check for the MSVC++ ABI.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184740 91177308-0d34-0410-b5e6-96231b3b80d8
Convert a use of PathV1.h.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184743 91177308-0d34-0410-b5e6-96231b3b80d8
Add some invalid-decl checks to clang_Type_getOffsetOf.

print-size-type.cpp was checking for specific record layout output for invalid
decls; I've removed the checks but left the records as tests for not crashing.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184751 91177308-0d34-0410-b5e6-96231b3b80d8
Convert a use of PathV1.h

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184753 91177308-0d34-0410-b5e6-96231b3b80d8
Check the canonical parameter type with getAs<>() in a static checker

This will prevent breakage when I introduce the DecayedType sugar node.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184755 91177308-0d34-0410-b5e6-96231b3b80d8
Add the global namespace (the "::" namespace specifier) to the list of
namespaces to try for potential typo corrections.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184762 91177308-0d34-0410-b5e6-96231b3b80d8
[AST] Introduce a new DecayedType sugar node

The goal of this sugar node is to be able to look at an arbitrary
FunctionType and tell if any of the parameters were decayed from an
array or function type.  Ultimately this is necessary to implement
Microsoft's C++ name mangling scheme, which mangles decayed arrays
differently from normal pointers.

Reviewers: rsmith

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184763 91177308-0d34-0410-b5e6-96231b3b80d8
Convert last use of PathV1.h in Compilation.cpp

The way we decide which file to remove is fairly odd. I took a quick look at
maybe changing that, but it would be a more work than I want to put at this
right now, so I left pair of FIXMEs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184766 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] Add a debug checker that prints Exploded Graph
Add a debug checker that is useful to understand how the ExplodedGraph is
built; it can be triggered using the following command:

 clang -cc1 -analyze -analyzer-checker=debug.ViewExplodedGraph my_program.c

A patch by Béatrice Creusillet!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184768 91177308-0d34-0410-b5e6-96231b3b80d8
Use the simpler version of llvm::sys::fs::exists.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184770 91177308-0d34-0410-b5e6-96231b3b80d8
Convert some uses of llvm::sys::Path.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184774 91177308-0d34-0410-b5e6-96231b3b80d8
Use getAs<> where appropriate on QualTypes instead of using dyn_cast.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184775 91177308-0d34-0410-b5e6-96231b3b80d8
[arcmt/driver] For the -ccc-arcmt-* flags, claim them when -fno-objc-arc is passed to avoid the
"argument unused during compilation" warning.

rdar://14240566

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184776 91177308-0d34-0410-b5e6-96231b3b80d8
[ms-cxxabi] Use sugared types in the mangler instead of canonical types

At this point, it's clear that the MSVC mangler uses the type-as-written
instead of the canonical type, so this should bring us closer to MSVC.
The main thrust of this change is to fix the way we mangle decayed array
parameters of function pointer parameters.  With a DecayedType sugar
node, this code can now be much simpler.

Fixes PR16096.

This also fixes a separate issue that Richard spotted in review.
Because separate declarations of the same entity can be spelled and
mangled differently, MSVC always mangles the earliest declaration in an
attempt to avoid link errors.  Clang now does the same.

Reviewers: rsmith

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184777 91177308-0d34-0410-b5e6-96231b3b80d8
Fix "funciton" typo from r184763

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184779 91177308-0d34-0410-b5e6-96231b3b80d8
Change mangling of objects inside block literals.

This changes the mangling of local static variables/etc. inside blocks
to do something simple and sane.  This avoids depending on the way we mangle
blocks, which isn't really appropriate here.

John, please take a look at this to make sure the mangling I chose is sane.

Fixes <rdar://problem/14074423>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184780 91177308-0d34-0410-b5e6-96231b3b80d8
[libclang/codecompletion] Make sure the top-level decl hash takes into account ImportDecls.

The top-level hash is used to determine if we need to update the global code-completion results.
ImportDecls did not affect the hash so a newly introduced ImportDecl would not trigger an update of the global results.

rdar://14202797

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184782 91177308-0d34-0410-b5e6-96231b3b80d8
[NeonIntrinsicTestEmitter] Add requirement to arm neon intrinsic tests for the feature long_tests.

This will prevent the tests from running on normal make check. You will need to
actually pass in --param run_long_tests=true to LIT in order to run these.

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