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