Update link strategy for sanitizer runtime libraries on Linux:

1. Always put static sanitizer runtimes to the front of the linker
invocation line. This was already done for all sanitizers except UBSan:
in case user provides static libstdc++ we need to make sure that new/delete
operator definitions are picked from sanitizer runtimes instead of libstdc++.
We have to put UBSan runtime first for similar reasons: it depends on some
libstdc++ parts (e.g. __dynamic_cast function), and has to go first in
link line to ensure these functions will be picked up from libstdc++.

2. Put sanitizer libraries system dependencies (-ldl, -lpthread etc.) right
after sanitizer runtimes. This will ensure these libraries participate in
the link even if user provided -Wl,-as-needed flag. This should fix PR15823.

3. In case we link in several sanitizer runtimes (e.g. "ubsan", "ubsan_cxx"
and "san"), add system dependencies (-ldl, -lpthread, ...) only once.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215940 91177308-0d34-0410-b5e6-96231b3b80d8
Add a warning flag for an existing diagnostic.

One more, and the number of flags without a dedicated flag fits in two decimal
digits :-)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215946 91177308-0d34-0410-b5e6-96231b3b80d8
Update for llvm api change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215968 91177308-0d34-0410-b5e6-96231b3b80d8
MS ABI: Update alias template mangling for VC "14" CTP 3

MSVC "14" CTP 3 has fixed it's mangling for alias templates when used as
template-template arguments; update clang to be compatible with this
mangling.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215972 91177308-0d34-0410-b5e6-96231b3b80d8
[OPENMP] Extract common superclass from all the loop directives. No functional changes (having common superclass is convenient for future loop directives CodeGen implementation)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215975 91177308-0d34-0410-b5e6-96231b3b80d8
Go back to having a takeModule instead of a getModule.

Returning a std::unique_ptr is more constrained. Thanks to David Blaikie for the
suggestion.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215979 91177308-0d34-0410-b5e6-96231b3b80d8
Move the body out of line to try to fix a buildbot.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215980 91177308-0d34-0410-b5e6-96231b3b80d8
C++1y is now C++14!

Changes diagnostic options, language standard options, diagnostic identifiers, diagnostic wording to use c++14 instead of c++1y. It also modifies related test cases to use the updated diagnostic wording.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215982 91177308-0d34-0410-b5e6-96231b3b80d8
ext_vector IRGen. Patch to allow indexing into 
ext_vector_type's 'hi/lo' components when
used as lvalue. rdar://18031917 pr20697


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215991 91177308-0d34-0410-b5e6-96231b3b80d8
Add tests for coverage mapping generation.

This patch adds the tests for the coverage mapping generation. 
Most of the tests check the mapping regions produced by 
the generator, and one checks the llvm IR.

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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215995 91177308-0d34-0410-b5e6-96231b3b80d8
Test: Coverage Mapping: add missing RUN commands

Add the llvm-lit RUN commands for the two coverage mapping tests
that filecheck a temporary file.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216020 91177308-0d34-0410-b5e6-96231b3b80d8
Handle SPARC float command line parameters for SPARCv9.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216029 91177308-0d34-0410-b5e6-96231b3b80d8
Objective-C [qoi]. Provide fix-it hint when sending
class method to an object receiver. rdar://16263395



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216038 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] IdenticalExpr: use getBytes rather than getString to compare string literals.

PR20693. Patch by Anders Rönnholm.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216075 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] IdenticalExpr: don't try to compare integer literals with different widths.

PR20659. Patch by Anders Rönnholm.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216076 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] UnixAPI: Check when open(2) is called with more than three arguments.

Patch by Daniel Fahlgren.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216078 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] UnixAPI: Check that the third argument to open(2) (if present) is an integer.

Patch by Daniel Fahlgren.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216079 91177308-0d34-0410-b5e6-96231b3b80d8
Coverage mapping: fix mapping for objective-c message expression

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216081 91177308-0d34-0410-b5e6-96231b3b80d8
Coverage mapping: fix mapping for objective-c for statement

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216082 91177308-0d34-0410-b5e6-96231b3b80d8
Test: CoverageMapping: use "RUN: FileCheck" command instead of "RUN: cat | Filecheck".

Change the lit RUN commands for 3 tests to use the following pattern
"FileCheck -input-file ..." instead of "cat ... | FileCheck ..." as
suggested by Justin Bogner.


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