summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimur Iskhodzhanov <timurrrr@google.com>2013-11-25 07:54:55 +0000
committerTimur Iskhodzhanov <timurrrr@google.com>2013-11-25 07:54:55 +0000
commit25cc3c55cc4682a0d068e1f2944a6d03db5b3f2b (patch)
tree326121a4f5f573e1cf9b9974e19bfad00a9ecc05
parentc91d12ce8081e00906b5bd7be9234e8ffa6f827d (diff)
downloadbcm5719-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.inc2
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_libc.cc5
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) {
OpenPOWER on IntegriCloud