Merge "Android.bp: Add missing <complex.h> functions."
diff --git a/libm/Android.bp b/libm/Android.bp
index fb0e583..52249c9 100644
--- a/libm/Android.bp
+++ b/libm/Android.bp
@@ -172,6 +172,30 @@
     "upstream-freebsd/lib/msun/src/w_cabsl.c",
     "upstream-freebsd/lib/msun/src/w_drem.c",
     "upstream-freebsd/lib/msun/src/w_dremf.c",
+
+    // The FreeBSD complex functions appear to be better, but they're incomplete.
+    // We take the FreeBSD implementations when they exist, but fill out the rest
+    // of <complex.h> from NetBSD...
+    "upstream-netbsd/lib/libm/complex/cacoshl.c",
+    "upstream-netbsd/lib/libm/complex/cacosl.c",
+    "upstream-netbsd/lib/libm/complex/casinhl.c",
+    "upstream-netbsd/lib/libm/complex/casinl.c",
+    "upstream-netbsd/lib/libm/complex/catanhl.c",
+    "upstream-netbsd/lib/libm/complex/catanl.c",
+    "upstream-netbsd/lib/libm/complex/ccoshl.c",
+    "upstream-netbsd/lib/libm/complex/ccosl.c",
+    "upstream-netbsd/lib/libm/complex/cephes_subrl.c",
+    "upstream-netbsd/lib/libm/complex/cexpl.c",
+    "upstream-netbsd/lib/libm/complex/clog.c",
+    "upstream-netbsd/lib/libm/complex/clogf.c",
+    "upstream-netbsd/lib/libm/complex/clogl.c",
+    "upstream-netbsd/lib/libm/complex/cpow.c",
+    "upstream-netbsd/lib/libm/complex/cpowf.c",
+    "upstream-netbsd/lib/libm/complex/cpowl.c",
+    "upstream-netbsd/lib/libm/complex/csinhl.c",
+    "upstream-netbsd/lib/libm/complex/csinl.c",
+    "upstream-netbsd/lib/libm/complex/ctanhl.c",
+    "upstream-netbsd/lib/libm/complex/ctanl.c",
 ]
 
 libm_common_src_files += [
@@ -283,6 +307,7 @@
     name: "libm",
 
     cflags: libm_common_cflags,
+    conlyflags: ["-std=gnu11"],
     include_dirs: ["bionic/libc"],
     local_include_dirs: libm_common_local_includes,
     srcs: libm_common_src_files,