LOCAL_CPPFLAGS := $(libc_common_cppflags) -Wold-style-cast
LOCAL_C_INCLUDES := $(libc_common_c_includes)
LOCAL_MODULE := libc_thread_atexit_impl
-# TODO: Clang tries to use __tls_get_addr which is not supported yet
-# remove after it is implemented.
-LOCAL_CLANG := false
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_CXX_STL := none
LOCAL_SYSTEM_SHARED_LIBRARIES :=
# Clang/llvm has incompatible long double (fp128) for x86_64.
# https://llvm.org/bugs/show_bug.cgi?id=23897
# This affects most of math_test.cpp.
+ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86_64))
libBionicStandardTests_clang_target := false
+endif
module := libBionicStandardTests
module_tag := optional
libdl_preempt_test_1 \
libdl_preempt_test_2
-# TODO: clang support for thread_local on arm is done via __aeabi_read_tp()
-# which bionic does not support. Reenable this once this question is resolved.
+# Clang/llvm has incompatible long double (fp128) for x86_64.
+# https://llvm.org/bugs/show_bug.cgi?id=23897
+# This affects most of math_test.cpp.
+# For arm and arm64 target, b/25643775:
+# external/libcxx/include/sstream:859: warning: relocation refers to discarded section
+ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86_64 arm arm64))
bionic-unit-tests_clang_target := false
+endif
bionic-unit-tests_shared_libraries_target += libdl_test_df_1_global
#include <stdint.h>
#include <string.h>
-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(__clang__) && \
+ (defined(__arm__) || defined(__aarch64__))
// Gcc has a bug with -O -fdata-section for the arm target: http://b/22772147.
// Until that bug is fixed, disable optimization since
// it is not essential for this test.