summaryrefslogtreecommitdiff
path: root/test/builtins/Unit/divxc3_test.c
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2017-04-07 16:35:09 +0000
committerReid Kleckner <rnk@google.com>2017-04-07 16:35:09 +0000
commit5584d09fda7674ea184463ffc4a47e53307534f1 (patch)
tree8569e718cb51e49d5468890b9f12e154df8f0f51 /test/builtins/Unit/divxc3_test.c
parent7f45a60017e3b7401486ef3aeadac8d88b43f072 (diff)
downloadcompiler-rt-5584d09fda7674ea184463ffc4a47e53307534f1.tar.gz
[builtins] Get the builtins tests passing on Windows
Many things were broken: - We stopped building most builtins on Windows in r261432 for reasons that are not at all clear to me. This essentially reverts that patch. - Fix %librt to expand to clang_rt.builtins-$arch.lib on Windows instead of libclang_rt.builtins-$arch.a. - Fix memory protection tests (trampoline, enable executable, clear cache) on Windows. One issue was that the MSVC incremental linker generates ILT thunks for functions with external linkage, so memcpying the functions into the executable stack buffer wasn't working. You can't memcpy an RIP-relative jump without fixing up the offset. - Disable tests that rely on C99 complex library functions when using the MSVC CRT, which isn't compatible with clang's C99 _Complex. In theory, these could all be separate patches, but it would not green the tests, so let's try for it all at once. Hopefully this fixes the clang-x64-ninja-win7 bot. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@299780 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/builtins/Unit/divxc3_test.c')
-rw-r--r--test/builtins/Unit/divxc3_test.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/test/builtins/Unit/divxc3_test.c b/test/builtins/Unit/divxc3_test.c
index d71660bfe..d0cdb0169 100644
--- a/test/builtins/Unit/divxc3_test.c
+++ b/test/builtins/Unit/divxc3_test.c
@@ -19,6 +19,8 @@
#include <complex.h>
#include <stdio.h>
+// REQUIRES: c99-complex
+
// Returns: the quotient of (a + ib) / (c + id)
COMPILER_RT_ABI long double _Complex