Decouple ExprCXX.h and DeclCXX.h and clean up includes a bit.

Required pulling LambdaExpr::Capture into its own header.
No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208470 91177308-0d34-0410-b5e6-96231b3b80d8
Analyzer: Make helper function static.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208473 91177308-0d34-0410-b5e6-96231b3b80d8
Objective-C ARC. Add support for toll-free bridge 
type ,and bridge attribute, checking with static_cast. 
// rdar://16756639


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208474 91177308-0d34-0410-b5e6-96231b3b80d8
Wrap to 80 columns. No behavior change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208475 91177308-0d34-0410-b5e6-96231b3b80d8
Add test coverage for invalid conversion functions with default args.

This currently leaks memory (PR19689) but wasn't covered by tests, so LSan
couldn't find it.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208477 91177308-0d34-0410-b5e6-96231b3b80d8
Don't leak default arg tokens on invalid destructors or conversion functions.

Fixes PR19689, and possibly the last leak in clang (PR19521). PR19689 contains
a few suggestions on how to make the default argument token code a bit more
solid, these changes can possibly be landed in follow-ups.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208481 91177308-0d34-0410-b5e6-96231b3b80d8
Try to bring the 32 bit buildbots back to life.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208482 91177308-0d34-0410-b5e6-96231b3b80d8
Don't leak CXStrings for replacement fix-its in c-index-test.

The loop body used to contain a switch statement; it looks like r96685 replaced
that with an if/else if/else but accidentally left one of the three break
statements from the switch behind, skipping the clang_disposeString() call
for replacements (and the rest of the loop too, which apparently doesn't make
a differences for the test cases we have).

r96685: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20100215/027754.html

This too might possibly the last leak in clang (PR19521).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208483 91177308-0d34-0410-b5e6-96231b3b80d8
Follow-up to r208481: Free all default arguments, not just the first one.

Also add test coverage for this case.  Found by Richard Smith!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208484 91177308-0d34-0410-b5e6-96231b3b80d8
Wrap at 80 columns. No code change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208485 91177308-0d34-0410-b5e6-96231b3b80d8
CodeGen: support dll{ex,im}port on WoA

Add ARM support for dllexport and dllimport attributes.  This is a relatively
conservative change.  The alternative is to entirely drop the architecture
requirement.  The dllimport and dllexport attributes are not restricted to any
architecture, simply to platforms that support this attribute (currently
Windows).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208486 91177308-0d34-0410-b5e6-96231b3b80d8
Silence warning in Release builds. This function is only used in an assert.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208491 91177308-0d34-0410-b5e6-96231b3b80d8
Put back raw_ostream.h include.

Some configurations of MSVC get horribly confused by the forward declaration
and explode.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208493 91177308-0d34-0410-b5e6-96231b3b80d8
Another try at making MSVC happy again.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208497 91177308-0d34-0410-b5e6-96231b3b80d8
Consolidate single void paramter checking

Also correct argument/parameter terminology.

No change in functionality.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208498 91177308-0d34-0410-b5e6-96231b3b80d8
Parameter/argument terminology fixes

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208499 91177308-0d34-0410-b5e6-96231b3b80d8
c-index-test: Don't leak diagnostic category text.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208503 91177308-0d34-0410-b5e6-96231b3b80d8
Driver: Don't leak the -Xarch argument when its use is incorrect.

(LLVM's lib/Option looks like it might appreciate being hit with the
std::unique_ptr stick.)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208505 91177308-0d34-0410-b5e6-96231b3b80d8
PR19713: Don't warn on unused static inline functions, even if the 'inline' was
implied by 'constexpr'.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208511 91177308-0d34-0410-b5e6-96231b3b80d8
Make DiagnosticsEngine non-copyable

Also provide an out-of-line dtor for CompilerInvocation.

Cleanup work that may help reduce header inclusion for IntrusiveRefCntPtr.

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