diff --git a/tests/complex_test.cpp b/tests/complex_test.cpp
index 3a5ef74..85b20de 100644
--- a/tests/complex_test.cpp
+++ b/tests/complex_test.cpp
@@ -16,6 +16,12 @@
 
 #include <gtest/gtest.h>
 
+#if defined(__BIONIC_LP32_USE_LONG_DOUBLE)
+#define COMPLEX_TEST complex_h_force_long_double
+#else
+#define COMPLEX_TEST complex_h
+#endif
+
 // This file is compiled against both glibc and bionic, and our complex.h
 // depends on bionic-specific macros, so hack around that.
 #include <sys/cdefs.h>
@@ -24,6 +30,7 @@
 #define __INTRODUCED_IN_32(x)
 #define __INTRODUCED_IN_64(x)
 #define __INTRODUCED_IN_FUTURE
+#define __RENAME_LDBL(a,b,c)
 #endif
 
 // libc++ actively gets in the way of including <complex.h> from C++, so we
@@ -36,6 +43,7 @@
 
 #include <math.h> // For M_PI_2/M_PI_2l.
 
+#if 0
 // Note that gtest doesn't support complex numbers, so the output from
 // assertion failures is misleading/useless (at best you'll only see the real
 // part).
@@ -54,267 +62,268 @@
   os << "(" << creall(c) << "," << cimagl(c) << "i)";
   return os;
 }
+#endif
 
-TEST(complex, cabs) {
+TEST(COMPLEX_TEST, cabs) {
   ASSERT_EQ(0.0, cabs(0));
 }
 
-TEST(complex, cabsf) {
+TEST(COMPLEX_TEST, cabsf) {
   ASSERT_EQ(0.0, cabsf(0));
 }
 
-TEST(complex, cabsl) {
+TEST(COMPLEX_TEST, cabsl) {
   ASSERT_EQ(0.0, cabsl(0));
 }
 
-TEST(complex, cacos) {
+TEST(COMPLEX_TEST, cacos) {
   ASSERT_EQ(M_PI_2, cacos(0.0));
 }
 
-TEST(complex, cacosf) {
+TEST(COMPLEX_TEST, cacosf) {
   ASSERT_EQ(static_cast<float>(M_PI_2), cacosf(0.0));
 }
 
-TEST(complex, cacosl) {
+TEST(COMPLEX_TEST, cacosl) {
   ASSERT_EQ(M_PI_2l, cacosl(0.0));
 }
 
-TEST(complex, cacosh) {
+TEST(COMPLEX_TEST, cacosh) {
   ASSERT_EQ(0.0, cacosh(1.0));
 }
 
-TEST(complex, cacoshl) {
+TEST(COMPLEX_TEST, cacoshl) {
   ASSERT_EQ(0.0, cacoshl(1.0));
 }
 
-TEST(complex, cacoshf) {
+TEST(COMPLEX_TEST, cacoshf) {
   ASSERT_EQ(0.0, cacoshf(1.0));
 }
 
-TEST(complex, carg) {
+TEST(COMPLEX_TEST, carg) {
   ASSERT_EQ(0.0, carg(0));
 }
 
-TEST(complex, cargf) {
+TEST(COMPLEX_TEST, cargf) {
   ASSERT_EQ(0.0, cargf(0));
 }
 
-TEST(complex, cargl) {
+TEST(COMPLEX_TEST, cargl) {
   ASSERT_EQ(0.0, cargl(0));
 }
 
-TEST(complex, casin) {
+TEST(COMPLEX_TEST, casin) {
   ASSERT_EQ(0.0, casin(0));
 }
 
-TEST(complex, casinf) {
+TEST(COMPLEX_TEST, casinf) {
   ASSERT_EQ(0.0, casinf(0));
 }
 
-TEST(complex, casinl) {
+TEST(COMPLEX_TEST, casinl) {
   ASSERT_EQ(0.0, casinl(0));
 }
 
-TEST(complex, casinh) {
+TEST(COMPLEX_TEST, casinh) {
   ASSERT_EQ(0.0, casinh(0));
 }
 
-TEST(complex, casinhf) {
+TEST(COMPLEX_TEST, casinhf) {
   ASSERT_EQ(0.0, casinhf(0));
 }
 
-TEST(complex, casinhl) {
+TEST(COMPLEX_TEST, casinhl) {
   ASSERT_EQ(0.0, casinhl(0));
 }
 
-TEST(complex, catan) {
+TEST(COMPLEX_TEST, catan) {
   ASSERT_EQ(0.0, catan(0));
 }
 
-TEST(complex, catanf) {
+TEST(COMPLEX_TEST, catanf) {
   ASSERT_EQ(0.0, catanf(0));
 }
 
-TEST(complex, catanl) {
+TEST(COMPLEX_TEST, catanl) {
   ASSERT_EQ(0.0, catanl(0));
 }
 
-TEST(complex, catanh) {
+TEST(COMPLEX_TEST, catanh) {
   ASSERT_EQ(0.0, catanh(0));
 }
 
-TEST(complex, catanhf) {
+TEST(COMPLEX_TEST, catanhf) {
   ASSERT_EQ(0.0, catanhf(0));
 }
 
-TEST(complex, catanhl) {
+TEST(COMPLEX_TEST, catanhl) {
   ASSERT_EQ(0.0, catanhl(0));
 }
 
-TEST(complex, ccos) {
+TEST(COMPLEX_TEST, ccos) {
   ASSERT_EQ(1.0, ccos(0));
 }
 
-TEST(complex, ccosf) {
+TEST(COMPLEX_TEST, ccosf) {
   ASSERT_EQ(1.0, ccosf(0));
 }
 
-TEST(complex, ccosl) {
+TEST(COMPLEX_TEST, ccosl) {
   ASSERT_EQ(1.0, ccosl(0));
 }
 
-TEST(complex, ccosh) {
+TEST(COMPLEX_TEST, ccosh) {
   ASSERT_EQ(1.0, ccosh(0));
 }
 
-TEST(complex, ccoshf) {
+TEST(COMPLEX_TEST, ccoshf) {
   ASSERT_EQ(1.0, ccoshf(0));
 }
 
-TEST(complex, ccoshl) {
+TEST(COMPLEX_TEST, ccoshl) {
   ASSERT_EQ(1.0, ccoshl(0));
 }
 
-TEST(complex, cexp) {
+TEST(COMPLEX_TEST, cexp) {
   ASSERT_EQ(1.0, cexp(0));
 }
 
-TEST(complex, cexpf) {
+TEST(COMPLEX_TEST, cexpf) {
   ASSERT_EQ(1.0, cexpf(0));
 }
 
-TEST(complex, cexpl) {
+TEST(COMPLEX_TEST, cexpl) {
   ASSERT_EQ(1.0, cexpl(0));
 }
 
-TEST(complex, cimag) {
+TEST(COMPLEX_TEST, cimag) {
   ASSERT_EQ(0.0, cimag(0));
 }
 
-TEST(complex, cimagf) {
+TEST(COMPLEX_TEST, cimagf) {
   ASSERT_EQ(0.0f, cimagf(0));
 }
 
-TEST(complex, cimagl) {
+TEST(COMPLEX_TEST, cimagl) {
   ASSERT_EQ(0.0, cimagl(0));
 }
 
-TEST(complex, clog) {
+TEST(COMPLEX_TEST, clog) {
   ASSERT_EQ(0.0, clog(1.0));
 }
 
-TEST(complex, clogf) {
+TEST(COMPLEX_TEST, clogf) {
   ASSERT_EQ(0.0f, clogf(1.0f));
 }
 
-TEST(complex, clogl) {
+TEST(COMPLEX_TEST, clogl) {
   ASSERT_EQ(0.0L, clogl(1.0L));
 }
 
-TEST(complex, conj) {
+TEST(COMPLEX_TEST, conj) {
   ASSERT_EQ(0.0, conj(0));
 }
 
-TEST(complex, conjf) {
+TEST(COMPLEX_TEST, conjf) {
   ASSERT_EQ(0.0f, conjf(0));
 }
 
-TEST(complex, conjl) {
+TEST(COMPLEX_TEST, conjl) {
   ASSERT_EQ(0.0, conjl(0));
 }
 
-TEST(complex, cpow) {
+TEST(COMPLEX_TEST, cpow) {
   ASSERT_EQ(8.0, cpow(2.0, 3.0));
 }
 
-TEST(complex, cpowf) {
+TEST(COMPLEX_TEST, cpowf) {
   ASSERT_EQ(8.0f, cpowf(2.0f, 3.0f));
 }
 
-TEST(complex, cpowl) {
+TEST(COMPLEX_TEST, cpowl) {
   ASSERT_EQ(8.0L, cpowl(2.0L, 3.0L));
 }
 
-TEST(complex, cproj) {
+TEST(COMPLEX_TEST, cproj) {
   ASSERT_EQ(0.0, cproj(0));
 }
 
-TEST(complex, cprojf) {
+TEST(COMPLEX_TEST, cprojf) {
   ASSERT_EQ(0.0f, cprojf(0));
 }
 
-TEST(complex, cprojl) {
+TEST(COMPLEX_TEST, cprojl) {
   ASSERT_EQ(0.0, cprojl(0));
 }
 
-TEST(complex, creal) {
+TEST(COMPLEX_TEST, creal) {
   ASSERT_EQ(2.0, creal(2.0 + 3.0I));
 }
 
-TEST(complex, crealf) {
+TEST(COMPLEX_TEST, crealf) {
   ASSERT_EQ(2.0f, crealf(2.0f + 3.0fI));
 }
 
-TEST(complex, creall) {
+TEST(COMPLEX_TEST, creall) {
   ASSERT_EQ(2.0, creall(2.0L + 3.0LI));
 }
 
-TEST(complex, csin) {
+TEST(COMPLEX_TEST, csin) {
   ASSERT_EQ(0.0, csin(0));
 }
 
-TEST(complex, csinf) {
+TEST(COMPLEX_TEST, csinf) {
   ASSERT_EQ(0.0, csinf(0));
 }
 
-TEST(complex, csinl) {
+TEST(COMPLEX_TEST, csinl) {
   ASSERT_EQ(0.0, csinl(0));
 }
 
-TEST(complex, csinh) {
+TEST(COMPLEX_TEST, csinh) {
   ASSERT_EQ(0.0, csinh(0));
 }
 
-TEST(complex, csinhf) {
+TEST(COMPLEX_TEST, csinhf) {
   ASSERT_EQ(0.0, csinhf(0));
 }
 
-TEST(complex, csinhl) {
+TEST(COMPLEX_TEST, csinhl) {
   ASSERT_EQ(0.0, csinhl(0));
 }
 
-TEST(complex, csqrt) {
+TEST(COMPLEX_TEST, csqrt) {
   ASSERT_EQ(0.0, csqrt(0));
 }
 
-TEST(complex, csqrtf) {
+TEST(COMPLEX_TEST, csqrtf) {
   ASSERT_EQ(0.0f, csqrtf(0));
 }
 
-TEST(complex, csqrtl) {
+TEST(COMPLEX_TEST, csqrtl) {
   ASSERT_EQ(0.0, csqrtl(0));
 }
 
-TEST(complex, ctan) {
+TEST(COMPLEX_TEST, ctan) {
   ASSERT_EQ(0.0, ctan(0));
 }
 
-TEST(complex, ctanf) {
+TEST(COMPLEX_TEST, ctanf) {
   ASSERT_EQ(0.0, ctanf(0));
 }
 
-TEST(complex, ctanl) {
+TEST(COMPLEX_TEST, ctanl) {
   ASSERT_EQ(0.0, ctanl(0));
 }
 
-TEST(complex, ctanh) {
+TEST(COMPLEX_TEST, ctanh) {
   ASSERT_EQ(0.0, ctanh(0));
 }
 
-TEST(complex, ctanhf) {
+TEST(COMPLEX_TEST, ctanhf) {
   ASSERT_EQ(0.0, ctanhf(0));
 }
 
-TEST(complex, ctanhl) {
+TEST(COMPLEX_TEST, ctanhl) {
   ASSERT_EQ(0.0, ctanhl(0));
 }
