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