Remove the Android.mk GCC-only source files hackery
The complexity in Android.mk to deal with GCC-only source files is
unnecessary, use #if !defined(__clang__) around the contents of
interpreter/interpreter_goto_table_impl.cc, the same way
interpreter/interpreter.cc does around references to it.
Bug: 17716550
Change-Id: I775c23b6790d38b0d73a92529c696a31e6a4ae83
diff --git a/runtime/Android.mk b/runtime/Android.mk
index 8f20381..6588288 100644
--- a/runtime/Android.mk
+++ b/runtime/Android.mk
@@ -79,6 +79,7 @@
intern_table.cc \
interpreter/interpreter.cc \
interpreter/interpreter_common.cc \
+ interpreter/interpreter_goto_table_impl.cc \
interpreter/interpreter_switch_impl.cc \
interpreter/unstarted_runtime.cc \
java_vm_ext.cc \
@@ -202,10 +203,6 @@
entrypoints/quick/quick_throw_entrypoints.cc \
entrypoints/quick/quick_trampoline_entrypoints.cc
-# Source files that only compile with GCC.
-LIBART_GCC_ONLY_SRC_FILES := \
- interpreter/interpreter_goto_table_impl.cc
-
LIBART_TARGET_LDFLAGS :=
LIBART_HOST_LDFLAGS :=
@@ -436,19 +433,7 @@
$$(eval $$(call set-target-local-cflags-vars,$(2)))
LOCAL_CFLAGS_$(DEX2OAT_TARGET_ARCH) += -DART_DEFAULT_INSTRUCTION_SET_FEATURES="$(LIBART_TARGET_DEFAULT_INSTRUCTION_SET_FEATURES)"
LOCAL_CFLAGS_$(2ND_DEX2OAT_TARGET_ARCH) += -DART_DEFAULT_INSTRUCTION_SET_FEATURES="$(2ND_LIBART_TARGET_DEFAULT_INSTRUCTION_SET_FEATURES)"
-
- # TODO: Loop with ifeq, ART_TARGET_CLANG
- ifneq ($$(ART_TARGET_CLANG_$$(TARGET_ARCH)),true)
- LOCAL_SRC_FILES_$$(TARGET_ARCH) += $$(LIBART_GCC_ONLY_SRC_FILES)
- endif
- ifneq ($$(ART_TARGET_CLANG_$$(TARGET_2ND_ARCH)),true)
- LOCAL_SRC_FILES_$$(TARGET_2ND_ARCH) += $$(LIBART_GCC_ONLY_SRC_FILES)
- endif
else # host
- ifneq ($$(ART_HOST_CLANG),true)
- # Add files only built with GCC on the host.
- LOCAL_SRC_FILES += $$(LIBART_GCC_ONLY_SRC_FILES)
- endif
LOCAL_CLANG := $$(ART_HOST_CLANG)
LOCAL_LDLIBS := $$(ART_HOST_LDLIBS)
LOCAL_LDLIBS += -ldl -lpthread
@@ -534,7 +519,6 @@
# Clear locally defined variables.
LOCAL_PATH :=
LIBART_COMMON_SRC_FILES :=
-LIBART_GCC_ONLY_SRC_FILES :=
LIBART_HOST_DEFAULT_INSTRUCTION_SET_FEATURES :=
LIBART_TARGET_DEFAULT_INSTRUCTION_SET_FEATURES :=
2ND_LIBART_TARGET_DEFAULT_INSTRUCTION_SET_FEATURES :=
diff --git a/runtime/interpreter/interpreter_goto_table_impl.cc b/runtime/interpreter/interpreter_goto_table_impl.cc
index 5f97f94..af0a530 100644
--- a/runtime/interpreter/interpreter_goto_table_impl.cc
+++ b/runtime/interpreter/interpreter_goto_table_impl.cc
@@ -14,6 +14,9 @@
* limitations under the License.
*/
+#if !defined(__clang__)
+// Clang 3.4 fails to build the goto interpreter implementation.
+
#include "interpreter_common.h"
#include "safe_math.h"
@@ -2477,3 +2480,5 @@
} // namespace interpreter
} // namespace art
+
+#endif