More minor refactoring. Updated for const-correctness, moved another deleted function to be private, 0 -> nullptr and some style corrections. No functional changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206406 91177308-0d34-0410-b5e6-96231b3b80d8
[objc] Consider new initializers inside @implementation when determining if the class
introduces new initializers.

Part of rdar://16568441

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206409 91177308-0d34-0410-b5e6-96231b3b80d8
[objc] -[NSObject init] is documented to not do anything, don't warn if subclasses do not call [super init] on their initializers.

Part of rdar://16568441

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206410 91177308-0d34-0410-b5e6-96231b3b80d8
Fix indentation, NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206411 91177308-0d34-0410-b5e6-96231b3b80d8
Fix check failure on hexagon targets.

This test was failing because there is no assembler for hexagon-elf on
this buildbot:

http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/10470

Fixed by adding -S to the driver invocation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206412 91177308-0d34-0410-b5e6-96231b3b80d8
Move -fms-extensions predefined macros into InitPreprocessor

If someone on Linux asks for -fms-extensions, there's no reason not to
define the feature test macros that MSVC defines.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206413 91177308-0d34-0410-b5e6-96231b3b80d8
Attempting to unbreak the MSVC 2012 build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206414 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Move -fms-extensions predefined macros into InitPreprocessor"

This reverts commit r206413.

This was proposed before, but it's not clear if this is really a good
idea:
http://reviews.llvm.org/D3034

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206415 91177308-0d34-0410-b5e6-96231b3b80d8
Handle -m32 for NetBSD/sparc64 correctly. Extend test case to also check
ARM, MIPS and i386 ABIs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206416 91177308-0d34-0410-b5e6-96231b3b80d8
Added dump method for global module index.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206418 91177308-0d34-0410-b5e6-96231b3b80d8
Attempting to unbreak the MSVC 2012 build a second time.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206420 91177308-0d34-0410-b5e6-96231b3b80d8
Debug info: When collecting the parameters of C++ partial template
specializations collect all arguments and not just the ones from the
class template partial specialization from which this class template
specialization was instantiated. The debug info does not represent the
partial specialization otherwise and so specialized parameters would
go missing.

rdar://problem/16636569.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206430 91177308-0d34-0410-b5e6-96231b3b80d8
Rename lib/Headers/module.map to module.modulemap

Don't install a file using the legacy spelling.

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

rdar://problem/16636569.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206434 91177308-0d34-0410-b5e6-96231b3b80d8
PR19452: Implement more of [over.match.oper]p3's restrictions on which non-member overloaded operators can be found when no operand is of class type. We used to fail to implement this rule if there was an operand of dependent type.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206435 91177308-0d34-0410-b5e6-96231b3b80d8
Implement [over.match.oper]p3 properly, by filtering the non-candidates out
when building the candidate set, rather than trying to contort name lookup into
handling this.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206436 91177308-0d34-0410-b5e6-96231b3b80d8
Adding type info for f16c floating-point type. This is consistent with the
Itanium ABI in 2.9.2 Place of Emission.

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



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206439 91177308-0d34-0410-b5e6-96231b3b80d8
[Parser] Remove "add -fmodules" from the "use of '@import' when modules are disabled, add -fmodules" error.

We disable modules for C++, at which point this is confusing.
rdar://16641918

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206440 91177308-0d34-0410-b5e6-96231b3b80d8
Don't emit an ExtWarn on declarations of variable template specializations;
we'll already have issued the relevant diagnostic when we saw the declaration
of the primary template.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206441 91177308-0d34-0410-b5e6-96231b3b80d8
Refactor all the checking for missing 'template<>'s when a declaration has a
template-id after its scope specifier into a single place.


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