diff options
| author | Timur Iskhodzhanov <timurrrr@google.com> | 2013-11-25 07:54:55 +0000 |
|---|---|---|
| committer | Timur Iskhodzhanov <timurrrr@google.com> | 2013-11-25 07:54:55 +0000 |
| commit | 25cc3c55cc4682a0d068e1f2944a6d03db5b3f2b (patch) | |
| tree | 326121a4f5f573e1cf9b9974e19bfad00a9ecc05 | |
| parent | c91d12ce8081e00906b5bd7be9234e8ffa6f827d (diff) | |
| download | bcm5719-llvm-25cc3c55cc4682a0d068e1f2944a6d03db5b3f2b.tar.gz bcm5719-llvm-25cc3c55cc4682a0d068e1f2944a6d03db5b3f2b.zip | |
[ASan] Un-break the Windows build
llvm-svn: 195624
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc | 2 | ||||
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/sanitizer_libc.cc | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc index 6ca1df9457f..6122049bf3d 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc +++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc @@ -31,7 +31,7 @@ #include <stdarg.h> -#if SANITIZER_WINDOWS +#if SANITIZER_WINDOWS && !defined(va_copy) #define va_copy(dst, src) ((dst) = (src)) #endif // _WIN32 diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_libc.cc b/compiler-rt/lib/sanitizer_common/sanitizer_libc.cc index c93c9cfbc8e..5fa476a46d1 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_libc.cc +++ b/compiler-rt/lib/sanitizer_common/sanitizer_libc.cc @@ -18,7 +18,12 @@ namespace __sanitizer { // Make the compiler think that something is going on there. static inline void break_optimization(void *arg) { +#ifdef SANITIZER_WINDOWS + // FIXME: make sure this is actually enough. + __asm; +#else __asm__ __volatile__("" : : "r" (arg) : "memory"); +#endif } s64 internal_atoll(const char *nptr) { |

