YAML I/O - Added default trait support for std:string.  Making another attempt at this, this time doing a clean build on Linux, and running the LLVM, clang, and extra tests, to try to make sure there's no problems.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195134 91177308-0d34-0410-b5e6-96231b3b80d8
bjectiveC. Use a uniform diagnostic for
'objc_bridge' attribute. // rdar://15454846.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195135 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC migrator. Do not migrate categories with
'Deprecated' name suffix.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195137 91177308-0d34-0410-b5e6-96231b3b80d8
Documentation parsing: in HeaderDoc, \abstract is equivalent to \brief


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195145 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC ARC. Removes a bogus warning when a weak 
property is redeclared as 'weak' in class extension.
// rdar://15465916


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195146 91177308-0d34-0410-b5e6-96231b3b80d8
Remove full path from CHECK line


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195147 91177308-0d34-0410-b5e6-96231b3b80d8
test commit
ARM: embedded v7 'darwin' doesn't get min-version defines.

Make sure armv7 doesn't get the iOS deployment version definitions when
it's being used for non-iOS.

rdar://15497681

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195149 91177308-0d34-0410-b5e6-96231b3b80d8
Further fixes when thiscall is the default for methods.

The previous patches tried to deduce the correct function type. I now realize
this is not possible in general. Consider

class foo {
    template <typename T> static void bar(T v);
};
extern template void foo::bar(const void *);

We will only know that bar is static after a lookup, so we have to handle this
in the template instantiation code.

This patch reverts my previous two changes (but not the tests) and instead
handles the issue in DeduceTemplateArguments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195154 91177308-0d34-0410-b5e6-96231b3b80d8
Microsoft Record Layout: zero sized base after base with vbtbl fix

Microsoft adds an extra byte of padding before laying out zero sized 
non-virtual bases if the non-virtual base before it contains a vbptr.  
This patch adds the same behavior to clang.

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



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195158 91177308-0d34-0410-b5e6-96231b3b80d8
Switching some string literals to be generated by the AttributeList object itself.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195160 91177308-0d34-0410-b5e6-96231b3b80d8
PR9547: If we're parsing a simple-declaration that contains a tag definition,
and we see an ill-formed declarator that would probably be well-formed if the
tag definition were just missing a semicolon, use that as the diagnostic
instead of producing some other mysterious error.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195163 91177308-0d34-0410-b5e6-96231b3b80d8
Add a mangler entry point for TBAA rather than using RTTI directly

Summary:
RTTI is not yet implemented for the Microsoft C++ ABI and isn't expected
soon.  We could easily add the mangling, but the error is what prevents
us from silently miscompiling code that expects RTTI.

Instead, add a new mangleTypeName entry point that simply forwards to
mangleName or mangleType to produce a string that isn't part of the ABI.
Itanium can continue to use RTTI names to avoid unecessary test
breakage.

This also seems like the right design.  The fact that TBAA names happen
to be RTTI names is now an implementation detail of the mangler, rather
than part of TBAA.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195168 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] Fix an infinite recursion in region invalidation by adding block count to the BlockDataRegion.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195174 91177308-0d34-0410-b5e6-96231b3b80d8
Comment parsing tests: introduce a little more structure in testcase


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195176 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC ARC. validate toll free bridge casting
to or from 'id' and qualified-id types.
// rdar://15454846


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195178 91177308-0d34-0410-b5e6-96231b3b80d8
Revert r195176, it is breaking buildbots for unclear reason


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195184 91177308-0d34-0410-b5e6-96231b3b80d8
Ensuring the warning for attribute decl types matches the error for attribute decl types.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195186 91177308-0d34-0410-b5e6-96231b3b80d8
Comment parsing tests: introduce a little more structure in testcase


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195187 91177308-0d34-0410-b5e6-96231b3b80d8
Removing a custom error diagnostic and replacing it with a stock one. Added a test case to ensure the diagnostic was firing properly.

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