Switch libm to building with clang.

Bug: 16211965
Change-Id: I81ec9706a4f2b5e8a840508a0f711cd25a5826ca
diff --git a/libm/Android.mk b/libm/Android.mk
index 994caa0..d099dc2 100644
--- a/libm/Android.mk
+++ b/libm/Android.mk
@@ -1,5 +1,5 @@
 ifneq ($(TARGET_USE_PRIVATE_LIBM),true)
-LOCAL_PATH:= $(call my-dir)
+LOCAL_PATH := $(call my-dir)
 
 # TODO: this comes from from upstream's libc, not libm, but it's an
 # implementation detail that should have hidden visibility, so it needs
@@ -232,14 +232,21 @@
 # TODO: re-enable i387/e_sqrtf.S for x86, and maybe others.
 
 libm_common_cflags := \
+    -Wall \
+    -Wextra \
+    -Wunused \
+    -Werror=pointer-to-int-cast \
+    -Werror=int-to-pointer-cast \
+    -Werror=type-limits \
+    -Werror \
     -DFLT_EVAL_METHOD=0 \
-    -std=c99 \
+    -std=gnu99 \
     -include $(LOCAL_PATH)/freebsd-compat.h \
     -Wno-missing-braces \
     -Wno-parentheses \
     -Wno-sign-compare \
     -Wno-uninitialized \
-    -Wno-unknown-pragmas \
+    -Wno-unused-variable \
     -fvisibility=hidden \
 
 # Workaround the GCC "(long)fn -> lfn" optimization bug which will result in
@@ -255,7 +262,8 @@
 # libm.a for target.
 #
 include $(CLEAR_VARS)
-LOCAL_MODULE:= libm
+LOCAL_MODULE := libm
+LOCAL_CLANG := true
 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
 LOCAL_ARM_MODE := arm
 LOCAL_CFLAGS := $(libm_common_cflags)
@@ -287,7 +295,8 @@
 # libm.so for target.
 #
 include $(CLEAR_VARS)
-LOCAL_MODULE:= libm
+LOCAL_MODULE := libm
+LOCAL_CLANG := true
 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
 LOCAL_SYSTEM_SHARED_LIBRARIES := libc
 LOCAL_WHOLE_STATIC_LIBRARIES := libm