[scan-build] Pass --sysroot through for both compilation and linking.

PR19704

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208595 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] Split static ASan runtime in two parts: asan and asan_cxx.

asan_cxx containts replacements for new/delete operators, and should
only be linked in C++ mode. We plan to start building this part
with exception support to make new more standard-compliant.

See https://code.google.com/p/address-sanitizer/issues/detail?id=295
for more details.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208610 91177308-0d34-0410-b5e6-96231b3b80d8
clang-cl: accept -mllvm and -fsanitize_blacklist

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208613 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] Fixup for r208610: link in asan_cxx library on Windows

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208625 91177308-0d34-0410-b5e6-96231b3b80d8
Remove unused PP variable NumIncluded

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208633 91177308-0d34-0410-b5e6-96231b3b80d8
Refactor and fix a latent bug (found by inspection) where an external AST
source that provides a declaration from a hidden module would not have the
visibility of the produced definition checked. This might matter if an
external source chose to import a new module to provide an extra definition,
but is not observable with our current external sources.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208659 91177308-0d34-0410-b5e6-96231b3b80d8
MS ABI: Preliminary RTTI mangling

Implement what we currently believe is the mangling scheme for RTTI
data.  Tests will be added in a later commit which actually generate
RTTI data.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208661 91177308-0d34-0410-b5e6-96231b3b80d8
Refactor to avoid explicitly listing all the different flavours of redeclarable
declarations, and duplicating code between them.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208662 91177308-0d34-0410-b5e6-96231b3b80d8
Patched clang to emit x86 blends as shufflevectors.

Summary:
Most of the clang header patch by Simon Pilgrim @ SCEE.
Also fixed (or added) clang tests for these intrinsics.

LLVM tests to make sure we get the blend instruction out of these
shufflevectors are at http://reviews.llvm.org/D3600

Reviewers: eli.friedman, craig.topper, rafael

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208664 91177308-0d34-0410-b5e6-96231b3b80d8
Fixed a few tests and moved a comment to its proper place

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208665 91177308-0d34-0410-b5e6-96231b3b80d8
MS ABI: Tighten RTTI mangling

r208661 contained WIP code, commit the *actual* manglings.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208668 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Don't break in the middle of ">>".

Before:
  zzzzzzzzzz = bbbbbbbbbbbbbbbbb >
               > aaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaa);

After:
  zzzzzzzzzz
      = bbbbbbbbbbbbbbbbb
        >> aaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaa);

This fixes llvm.org/PR19731.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208672 91177308-0d34-0410-b5e6-96231b3b80d8
Support -masm= flag for x86 targets.

`clang -S -o - file.c -masm=att` will write assembly to stdout in at&t syntax
(the default), `-masm=intel` will instead output intel style asm.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208683 91177308-0d34-0410-b5e6-96231b3b80d8
Drop AST's version of ARMCXXABI, it doesn't differ from the Itanium base
class.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208687 91177308-0d34-0410-b5e6-96231b3b80d8
try to make test/Driver/masm.c work with the hexagon bot

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208688 91177308-0d34-0410-b5e6-96231b3b80d8
Define the InterlockedCompareExchange64 intrinsic on 32-bits too

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208699 91177308-0d34-0410-b5e6-96231b3b80d8
No longer triggering a checked iterator assert on Windows when using std::copy while deserializing attributed statements with more than one attribute.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208702 91177308-0d34-0410-b5e6-96231b3b80d8
Updated the test case to show that no diagnostics are expected, and not require emitting the AST until after the AST printing for statement attributes is updated.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208703 91177308-0d34-0410-b5e6-96231b3b80d8
Fix the AST printer for attributed statements so that it does not print duplicate attribute introducers. Eg) [[clang::fallthrough]] instead of  [[[[clang::fallthrough]]]]

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

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