[ASan/Win tests] Add tests for aligned mallocs, bitfields and global strings

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208859 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan/Win tests] Add tests for downcast-related overflows, as well as CRT initiazliers

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208865 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan/Win tests] Add tests for operator new/new[]/delete/delete[]

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208871 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan/Win tests] Add tests for stack array manipulation, as well as a use-after-return test

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208873 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: allow to disable history collection
The mode is enabled with -DTSAN_NO_HISTORY=1 flag.
Intended mostly for research purposes (how fast can it go w/o history).



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208878 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan/Win tests] Add tests for malloc/calloc/realloc

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208881 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan/Win tests] Add the first DLL test

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208884 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan/Win tests] Add more DLL tests: malloc & friends

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208889 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan/Win tests] Add more DLL tests

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208893 91177308-0d34-0410-b5e6-96231b3b80d8
Teach the compiler-rt custom compilation and linking CMake rules used
for sanitizers to pass the C++ compilation and exe linking flags through
from the host CMake configuration. We pass the target flags afterward,
allowing them to trump flags as needed. This is particularly important
when the flags direct Clang, even the just-built-Clang, toward the
standard library, linker, and other tools to use.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208896 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan/Win tests] Add memcpy/strdup/strlen interception tests

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208899 91177308-0d34-0410-b5e6-96231b3b80d8
Exclude MSVC to try to unbreak their builds. We have a bad skew between
how CMake drives a windows link and how our custom command does.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208903 91177308-0d34-0410-b5e6-96231b3b80d8
cleanup and test litlint

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208907 91177308-0d34-0410-b5e6-96231b3b80d8
InstrProf: Fix shared object profiling

Change the API of the instrumented profiling library to work with shared
objects.

  - Most things are now declared hidden, so that each executable gets
    its own copy.

  - Initialization hooks up a linked list of writers.

  - The raw format with shared objects that are profiled consists of a
    concatenated series of profiles.  llvm-profdata knows how to deal
    with that since r208938.

<rdar://problem/16918688>

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208940 91177308-0d34-0410-b5e6-96231b3b80d8
InstrProf: XFAIL tests from r208940 on Linux

According to the buildbots, the new features for shared objects don't
work on ELF since it requires an -fPIC when building the profile
library.  XFAIL these tests for now.

It's possible we'll have to build two versions of the profile library on
Linux (one with -fPIC and one without), but it's not clear to me exactly
how to resolve this.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208946 91177308-0d34-0410-b5e6-96231b3b80d8
InstrProf: Create a PIC version of the profile runtime

These tests were XPASS-ing on Linux bots creating Mach-O, which makes
sense, since the real difference is the object format.

I'm hoping a short-term fix to get these tests passing on ELF is to
create two copies of the runtime -- one built with -fPIC, and one
without.  A follow-up patch will change clang's driver to pick between
them depending on whether `-shared` is specified.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208947 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format assembly.h

Reformat assembly.h with clang-format.  NFC.

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