Do not use typo correction that is unaccessible.
This patch fixes PR17019. When doing typo correction, Sema::CorrectTypo uses
correction already seen for the same typo. This causes problems if that
correction is from another scope and cannot be accessed in the current.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192594 91177308-0d34-0410-b5e6-96231b3b80d8
[AArch64] Add support for NEON scalar integer compare instructions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192597 91177308-0d34-0410-b5e6-96231b3b80d8
Reduce double set lookups by using the result of insert.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192598 91177308-0d34-0410-b5e6-96231b3b80d8
Don't hardcode the order of the aliases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192601 91177308-0d34-0410-b5e6-96231b3b80d8
Also don't hardcode the order on this test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192603 91177308-0d34-0410-b5e6-96231b3b80d8
GetExprRange() (used by -Wconversion checking) should look through OpaqueValueExprs.

Fixes a false positive with -Wconversion involving Objective-C properties.

Fixes <rdar://problem/14415662>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192611 91177308-0d34-0410-b5e6-96231b3b80d8
Lit tests for Microsoft C++ record layout.
They weren't added with the rest of the microsoft record layout patch due me not 
doing svn add.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192612 91177308-0d34-0410-b5e6-96231b3b80d8
Move comment to its proper place.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192613 91177308-0d34-0410-b5e6-96231b3b80d8
For NetBSD/current on X86 do not use libgcc and default to libc++.
Adjust linkage to make more sense for older releases.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192615 91177308-0d34-0410-b5e6-96231b3b80d8
Correctly check for distructors when realizing vtordisps

This patch fixes the distructor test when checking for vtordisp requirements in 
microsoft record layout.  A test case is also included.

Addresses:
http://llvm.org/bugs/show_bug.cgi?id=16406#c7



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192616 91177308-0d34-0410-b5e6-96231b3b80d8
Fixing stdout/stderr interleaving in lit test.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192625 91177308-0d34-0410-b5e6-96231b3b80d8
PR17576: Fix assertion on polymorphic classes with small alignment

We have to reserve at least the width of a pointer for the vfptr.  For
classes with small alignment, we weren't reserving enough space, and
were overlapping the first field with the vfptr.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192626 91177308-0d34-0410-b5e6-96231b3b80d8
Adding a regression test for PR17578. It is marked xfail until the bug is fixed.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192638 91177308-0d34-0410-b5e6-96231b3b80d8
Switching some custom logic to using table-generated helper methods.  This also removes an unnecessary diagnostic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192639 91177308-0d34-0410-b5e6-96231b3b80d8
Trivial formatting changes; no functional changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192640 91177308-0d34-0410-b5e6-96231b3b80d8
Provide a dummy NetBSD tree and use --sysroot in the driver test.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192641 91177308-0d34-0410-b5e6-96231b3b80d8
Add has_feature support for reflecting the presence of refined Objective-C ABI mangling for qualified id<...>.  Fixes <rdar://problem/14799110>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192643 91177308-0d34-0410-b5e6-96231b3b80d8
PR17567: Improve diagnostic for a mistyped constructor name. If we see something
that looks like a function declaration, except that it's missing a return type,
try typo-correcting it to the relevant constructor name.

In passing, fix a bug where the missing-type-specifier recovery codepath would
drop a preceding scope specifier on the floor, leading to follow-on diagnostics
and incorrect recovery for the auto-in-c++98 hack.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192644 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC migrator: Support for more possibility of
migration to NS_ENUM/NS_OPTIONS macros; when
typedef'ed to NSInteger/NSUInteger preceeds well
before of the enum declaration. // rdar://15201056


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192645 91177308-0d34-0410-b5e6-96231b3b80d8
[ms-cxxabi] Fix assert in unspecified inheritance memptr emission

If a class is using the unspecified inheritance model for member
pointers and later we find the class is defined to use single
inheritance, zero out the vbptr offset field of the member pointer when
it is formed.

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