aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2015-07-13 19:31:32 -0700
committerStephen Hines <srhines@google.com>2015-07-13 19:31:32 -0700
commit8b9a50c0d1a7ea76dab93286807503ba5874c4f8 (patch)
treeacd5307b763f0b024b1d6fa0c19f12d12ca7a9a2
parente428a2cde8a5a5aba99db38a7d7f6a0b7ee823d2 (diff)
downloadclang-8b9a50c0d1a7ea76dab93286807503ba5874c4f8.tar.gz
Remove unnecessary patches/ directory.
We don't use these patches, and all of the history is available directly via git. Change-Id: I524d2fae3971ca0c96ba55f0e0eb0bc0a303e08c
-rw-r--r--patches/0001-Add-module-notice.patch17
-rw-r--r--patches/0002-Revert-to-old-vector-passing-ABI-for-backwards-compa.patch38
-rw-r--r--patches/0003-Add-support-for-RenderScript-specific-options.patch147
-rw-r--r--patches/0004-Add-Android-build-system.patch1866
4 files changed, 0 insertions, 2068 deletions
diff --git a/patches/0001-Add-module-notice.patch b/patches/0001-Add-module-notice.patch
deleted file mode 100644
index 42b479f545..0000000000
--- a/patches/0001-Add-module-notice.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-From 6b733cf3f6b923db332b896c79b7ba961c2dbf70 Mon Sep 17 00:00:00 2001
-From: Tim Murray <timmurray@google.com>
-Date: Thu, 3 Apr 2014 10:52:46 -0700
-Subject: [PATCH 1/4] Add module notice.
-
-Change-Id: Ifcd825d8ccd3f5da22591075aa15e6710e61a933
----
- MODULE_LICENSE_BSD_LIKE | 0
- 1 file changed, 0 insertions(+), 0 deletions(-)
- create mode 100644 MODULE_LICENSE_BSD_LIKE
-
-diff --git a/MODULE_LICENSE_BSD_LIKE b/MODULE_LICENSE_BSD_LIKE
-new file mode 100644
-index 0000000..e69de29
---
-1.9.1.423.g4596e3a
-
diff --git a/patches/0002-Revert-to-old-vector-passing-ABI-for-backwards-compa.patch b/patches/0002-Revert-to-old-vector-passing-ABI-for-backwards-compa.patch
deleted file mode 100644
index c2a13127be..0000000000
--- a/patches/0002-Revert-to-old-vector-passing-ABI-for-backwards-compa.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 10a4fc6c56a4ca26b225bf912948f96e9f55c81a Mon Sep 17 00:00:00 2001
-From: Tim Murray <timmurray@google.com>
-Date: Thu, 3 Apr 2014 13:27:16 -0700
-Subject: [PATCH 2/4] Revert to old vector passing ABI for backwards
- compatibility.
-
-Change-Id: I6d0e6db454de7090ef49001e9318eae5a1112e09
----
- lib/CodeGen/TargetInfo.cpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/lib/CodeGen/TargetInfo.cpp b/lib/CodeGen/TargetInfo.cpp
-index d2e57ac..d3ab43a 100644
---- a/lib/CodeGen/TargetInfo.cpp
-+++ b/lib/CodeGen/TargetInfo.cpp
-@@ -4403,7 +4403,7 @@ bool ARMABIInfo::isIllegalVectorType(QualType Ty) const {
- unsigned NumElements = VT->getNumElements();
- uint64_t Size = getContext().getTypeSize(VT);
- // NumElements should be power of 2.
-- if ((NumElements & (NumElements - 1)) != 0)
-+ if (((NumElements & (NumElements - 1)) != 0) && NumElements != 3)
- return true;
- // Size should be greater than 32 bits.
- return Size <= 32;
-@@ -4437,8 +4437,8 @@ llvm::Value *ARMABIInfo::EmitVAArg(llvm::Value *VAListAddr, QualType Ty,
- TyAlign = std::min(std::max(TyAlign, (uint64_t)4), (uint64_t)8);
- else
- TyAlign = 4;
-- // Use indirect if size of the illegal vector is bigger than 16 bytes.
-- if (isIllegalVectorType(Ty) && Size > 16) {
-+ // Use indirect if size of the illegal vector is bigger than 32 bytes.
-+ if (isIllegalVectorType(Ty) && Size > 32) {
- IsIndirect = true;
- Size = 4;
- TyAlign = 4;
---
-1.9.1.423.g4596e3a
-
diff --git a/patches/0003-Add-support-for-RenderScript-specific-options.patch b/patches/0003-Add-support-for-RenderScript-specific-options.patch
deleted file mode 100644
index be60ad41fe..0000000000
--- a/patches/0003-Add-support-for-RenderScript-specific-options.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 4ad30819eb30d7c72336cc61cabd85b42a350aac Mon Sep 17 00:00:00 2001
-From: Tim Murray <timmurray@google.com>
-Date: Thu, 3 Apr 2014 13:38:15 -0700
-Subject: [PATCH 3/4] Add support for RenderScript specific options.
-
-These include __attribute((kernel)), 64-bit longs, and RGBA vector syntax.
-
-Change-Id: I592e5ea2abc86269a941e0497ac11665fb562aa0
----
- include/clang/AST/Type.h | 8 ++++----
- include/clang/Basic/Attr.td | 5 +++++
- include/clang/Basic/LangOptions.def | 1 +
- lib/Basic/Targets.cpp | 2 ++
- lib/Sema/SemaDeclAttr.cpp | 13 +++++++++++++
- lib/Sema/SemaExprMember.cpp | 17 +++++++++++++++++
- 6 files changed, 42 insertions(+), 4 deletions(-)
-
-diff --git a/include/clang/AST/Type.h b/include/clang/AST/Type.h
-index 001a87e..7be6fcd 100644
---- a/include/clang/AST/Type.h
-+++ b/include/clang/AST/Type.h
-@@ -2593,10 +2593,10 @@ public:
- static int getPointAccessorIdx(char c) {
- switch (c) {
- default: return -1;
-- case 'x': return 0;
-- case 'y': return 1;
-- case 'z': return 2;
-- case 'w': return 3;
-+ case 'x': case 'r': return 0;
-+ case 'y': case 'g': return 1;
-+ case 'z': case 'b': return 2;
-+ case 'w': case 'a': return 3;
- }
- }
- static int getNumericAccessorIdx(char c) {
-diff --git a/include/clang/Basic/Attr.td b/include/clang/Basic/Attr.td
-index 12a8517..7360683 100644
---- a/include/clang/Basic/Attr.td
-+++ b/include/clang/Basic/Attr.td
-@@ -612,6 +612,11 @@ def OpenCLConstantAddressSpace : TypeAttr {
- let Documentation = [Undocumented];
- }
-
-+def Kernel : Attr {
-+ let Spellings = [GNU<"kernel">];
-+ let Documentation = [Undocumented];
-+}
-+
- def Deprecated : InheritableAttr {
- let Spellings = [GCC<"deprecated">, Declspec<"deprecated">,
- CXX11<"","deprecated">];
-diff --git a/include/clang/Basic/LangOptions.def b/include/clang/Basic/LangOptions.def
-index 22662e0..7b21482 100644
---- a/include/clang/Basic/LangOptions.def
-+++ b/include/clang/Basic/LangOptions.def
-@@ -123,6 +123,7 @@ LANGOPT(OpenCLVersion , 32, 0, "OpenCL version")
- LANGOPT(NativeHalfType , 1, 0, "Native half type support")
- LANGOPT(CUDA , 1, 0, "CUDA")
- LANGOPT(OpenMP , 1, 0, "OpenMP support")
-+LANGOPT(Renderscript , 1, 0, "RenderScript")
-
- LANGOPT(AssumeSaneOperatorNew , 1, 1, "implicit __attribute__((malloc)) for C++'s new operators")
- LANGOPT(SizedDeallocation , 1, 0, "enable sized deallocation functions")
-diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
-index 3d294ce..fd59c00 100644
---- a/lib/Basic/Targets.cpp
-+++ b/lib/Basic/Targets.cpp
-@@ -3984,6 +3984,8 @@ public:
- FPU |= FPARMV8;
- else if (Features[i] == "+neon")
- FPU |= NeonFPU;
-+ else if (Features[i] == "+long64")
-+ LongWidth = LongAlign = 64; // RenderScript uses a 64-bit long type
- else if (Features[i] == "+hwdiv")
- HWDiv |= HWDivThumb;
- else if (Features[i] == "+hwdiv-arm")
-diff --git a/lib/Sema/SemaDeclAttr.cpp b/lib/Sema/SemaDeclAttr.cpp
-index 5f60783..38b3c45 100644
---- a/lib/Sema/SemaDeclAttr.cpp
-+++ b/lib/Sema/SemaDeclAttr.cpp
-@@ -1396,6 +1396,16 @@ static void handleTLSModelAttr(Sema &S, Decl *D,
- Attr.getAttributeSpellingListIndex()));
- }
-
-+static void handleKernelAttr(Sema &S, Decl *D, const AttributeList &Attr) {
-+ if (S.LangOpts.Renderscript) {
-+ D->addAttr(::new (S.Context)
-+ KernelAttr(Attr.getRange(), S.Context,
-+ Attr.getAttributeSpellingListIndex()));
-+ } else {
-+ S.Diag(Attr.getLoc(), diag::warn_attribute_ignored) << "kernel";
-+ }
-+}
-+
- static void handleMallocAttr(Sema &S, Decl *D, const AttributeList &Attr) {
- if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
- QualType RetTy = FD->getReturnType();
-@@ -4130,6 +4140,9 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D,
- case AttributeList::AT_CUDALaunchBounds:
- handleLaunchBoundsAttr(S, D, Attr);
- break;
-+ case AttributeList::AT_Kernel:
-+ handleKernelAttr(S, D, Attr);
-+ break;
- case AttributeList::AT_Malloc:
- handleMallocAttr(S, D, Attr);
- break;
-diff --git a/lib/Sema/SemaExprMember.cpp b/lib/Sema/SemaExprMember.cpp
-index 354dfcf..c4a1780 100644
---- a/lib/Sema/SemaExprMember.cpp
-+++ b/lib/Sema/SemaExprMember.cpp
-@@ -267,6 +267,20 @@ Sema::BuildPossibleImplicitMemberExpr(const CXXScopeSpec &SS,
- llvm_unreachable("unexpected instance member access kind");
- }
-
-+/// Determine whether input char is from rgba component set.
-+static bool
-+IsRGBA(char c) {
-+ switch (c) {
-+ case 'r':
-+ case 'g':
-+ case 'b':
-+ case 'a':
-+ return true;
-+ default:
-+ return false;
-+ }
-+}
-+
- /// Check an ext-vector component access expression.
- ///
- /// VK should be set in advance to the value kind of the base
-@@ -306,7 +320,10 @@ CheckExtVectorComponent(Sema &S, QualType baseType, ExprValueKind &VK,
- HalvingSwizzle = true;
- } else if (!HexSwizzle &&
- (Idx = vecType->getPointAccessorIdx(*compStr)) != -1) {
-+ bool HasRGBA = IsRGBA(*compStr);
- do {
-+ if (HasRGBA != IsRGBA(*compStr))
-+ break;
- if (HasIndex[Idx]) HasRepeated = true;
- HasIndex[Idx] = true;
- compStr++;
---
-1.9.1.423.g4596e3a
-
diff --git a/patches/0004-Add-Android-build-system.patch b/patches/0004-Add-Android-build-system.patch
deleted file mode 100644
index 027a89b380..0000000000
--- a/patches/0004-Add-Android-build-system.patch
+++ /dev/null
@@ -1,1866 +0,0 @@
-From be91378db0840d26ae20bd4d13a2aa96d3d02249 Mon Sep 17 00:00:00 2001
-From: Tim Murray <timmurray@google.com>
-Date: Thu, 3 Apr 2014 14:29:15 -0700
-Subject: [PATCH 4/4] Add Android build system.
-
-Change-Id: I9738582ea6bcede99a42fd3926ba22e81d5fff02
----
- Android.mk | 34 +++++
- clang-host-build.mk | 38 ++++++
- clang-tblgen-rules.mk | 237 +++++++++++++++++++++++++++++++++
- clang-version-inc.mk | 36 +++++
- clang.mk | 7 +
- host_shared_clang.mk | 41 ++++++
- include/clang/Config/config.h | 25 ++++
- lib/ARCMigrate/Android.mk | 51 +++++++
- lib/AST/Android.mk | 94 +++++++++++++
- lib/Analysis/Android.mk | 51 +++++++
- lib/Basic/Android.mk | 57 ++++++++
- lib/CodeGen/Android.mk | 75 +++++++++++
- lib/Driver/Android.mk | 44 ++++++
- lib/Edit/Android.mk | 32 +++++
- lib/Format/Android.mk | 43 ++++++
- lib/Frontend/Android.mk | 66 +++++++++
- lib/FrontendTool/Android.mk | 24 ++++
- lib/Headers/Android.mk | 11 ++
- lib/Lex/Android.mk | 45 +++++++
- lib/Parse/Android.mk | 47 +++++++
- lib/Rewrite/Core/Android.mk | 34 +++++
- lib/Rewrite/Frontend/Android.mk | 38 ++++++
- lib/Sema/Android.mk | 84 ++++++++++++
- lib/Serialization/Android.mk | 46 +++++++
- lib/StaticAnalyzer/Checkers/Android.mk | 100 ++++++++++++++
- lib/StaticAnalyzer/Core/Android.mk | 68 ++++++++++
- lib/StaticAnalyzer/Frontend/Android.mk | 40 ++++++
- tools/driver/Android.mk | 119 +++++++++++++++++
- utils/TableGen/Android.mk | 35 +++++
- 29 files changed, 1622 insertions(+)
- create mode 100644 Android.mk
- create mode 100644 clang-host-build.mk
- create mode 100644 clang-tblgen-rules.mk
- create mode 100644 clang-version-inc.mk
- create mode 100644 clang.mk
- create mode 100644 host_shared_clang.mk
- create mode 100644 include/clang/Config/config.h
- create mode 100644 lib/ARCMigrate/Android.mk
- create mode 100644 lib/AST/Android.mk
- create mode 100644 lib/Analysis/Android.mk
- create mode 100644 lib/Basic/Android.mk
- create mode 100644 lib/CodeGen/Android.mk
- create mode 100644 lib/Driver/Android.mk
- create mode 100644 lib/Edit/Android.mk
- create mode 100644 lib/Format/Android.mk
- create mode 100644 lib/Frontend/Android.mk
- create mode 100644 lib/FrontendTool/Android.mk
- create mode 100644 lib/Headers/Android.mk
- create mode 100644 lib/Lex/Android.mk
- create mode 100644 lib/Parse/Android.mk
- create mode 100644 lib/Rewrite/Core/Android.mk
- create mode 100644 lib/Rewrite/Frontend/Android.mk
- create mode 100644 lib/Sema/Android.mk
- create mode 100644 lib/Serialization/Android.mk
- create mode 100644 lib/StaticAnalyzer/Checkers/Android.mk
- create mode 100644 lib/StaticAnalyzer/Core/Android.mk
- create mode 100644 lib/StaticAnalyzer/Frontend/Android.mk
- create mode 100644 tools/driver/Android.mk
- create mode 100644 utils/TableGen/Android.mk
-
-diff --git a/Android.mk b/Android.mk
-new file mode 100644
-index 0000000..5f62da3
---- /dev/null
-+++ b/Android.mk
-@@ -0,0 +1,34 @@
-+LOCAL_PATH := $(call my-dir)
-+CLANG_ROOT_PATH := $(LOCAL_PATH)
-+
-+include $(CLEAR_VARS)
-+
-+subdirs := $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \
-+ lib/Analysis \
-+ lib/AST \
-+ lib/ARCMigrate \
-+ lib/Basic \
-+ lib/CodeGen \
-+ lib/Driver \
-+ lib/Edit \
-+ lib/Format \
-+ lib/Frontend \
-+ lib/FrontendTool \
-+ lib/Headers \
-+ lib/Lex \
-+ lib/Parse \
-+ lib/Rewrite/Core \
-+ lib/Rewrite/Frontend \
-+ lib/Sema \
-+ lib/Serialization \
-+ lib/StaticAnalyzer/Checkers \
-+ lib/StaticAnalyzer/Core \
-+ lib/StaticAnalyzer/Frontend \
-+ tools/driver \
-+ utils/TableGen \
-+ ))
-+
-+include $(LOCAL_PATH)/clang.mk
-+include $(LOCAL_PATH)/host_shared_clang.mk
-+
-+include $(subdirs)
-diff --git a/clang-host-build.mk b/clang-host-build.mk
-new file mode 100644
-index 0000000..e0ba2e6
---- /dev/null
-+++ b/clang-host-build.mk
-@@ -0,0 +1,38 @@
-+LOCAL_CFLAGS := \
-+ -pedantic \
-+ -Wcast-qual \
-+ -Wno-long-long \
-+ $(LOCAL_CFLAGS)
-+
-+LOCAL_CPPFLAGS := \
-+ -Wno-sign-promo \
-+ $(LOCAL_CPPFLAGS)
-+
-+# Make sure bionic is first so we can include system headers.
-+LOCAL_C_INCLUDES := \
-+ $(CLANG_ROOT_PATH)/include \
-+ $(CLANG_ROOT_PATH)/lib/CodeGen \
-+ $(LOCAL_C_INCLUDES)
-+
-+LLVM_ROOT_PATH := external/llvm
-+include $(LLVM_ROOT_PATH)/llvm.mk
-+
-+ifneq ($(LLVM_HOST_BUILD_MK),)
-+include $(LLVM_HOST_BUILD_MK)
-+endif
-+
-+###########################################################
-+## Commands for running tblgen to compile a td file
-+###########################################################
-+define transform-host-clang-td-to-out
-+@mkdir -p $(dir $@)
-+@echo "Host Clang TableGen: $(TBLGEN_LOCAL_MODULE) (gen-$(1)) <= $<"
-+$(hide) $(CLANG_TBLGEN) \
-+ -I $(dir $<) \
-+ -I $(LLVM_ROOT_PATH)/include \
-+ -I $(LLVM_ROOT_PATH)/host/include \
-+ -I $(LLVM_ROOT_PATH)/lib/Target \
-+ $(if $(strip $(CLANG_ROOT_PATH)),-I $(CLANG_ROOT_PATH)/include,) \
-+ -gen-$(strip $(1)) \
-+ -o $@ $<
-+endef
-diff --git a/clang-tblgen-rules.mk b/clang-tblgen-rules.mk
-new file mode 100644
-index 0000000..a2ae405
---- /dev/null
-+++ b/clang-tblgen-rules.mk
-@@ -0,0 +1,237 @@
-+###################################4########################
-+## TableGen: Compile .td files to .inc.
-+###########################################################
-+ifeq ($(LOCAL_MODULE_CLASS),)
-+ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-+endif
-+
-+ifneq ($(strip $(TBLGEN_TABLES)),)
-+
-+intermediates := $(call local-intermediates-dir)
-+
-+ifneq ($(findstring AttrDump.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/AttrDump.inc
-+$(intermediates)/include/clang/AST/AttrDump.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/AST/AttrDump.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-dump)
-+endif
-+
-+ifneq ($(findstring AttrImpl.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/AttrImpl.inc
-+$(intermediates)/include/clang/AST/AttrImpl.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/AST/AttrImpl.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-impl)
-+endif
-+
-+ifneq ($(findstring AttrHasAttributeImpl.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/AttrHasAttributeImpl.inc
-+$(intermediates)/include/clang/Basic/AttrHasAttributeImpl.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Basic/AttrHasAttributeImpl.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-has-attribute-impl)
-+endif
-+
-+ifneq ($(findstring AttrList.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/AttrList.inc
-+$(intermediates)/include/clang/Basic/AttrList.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Basic/AttrList.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-list)
-+endif
-+
-+ifneq ($(findstring AttrSpellingListIndex.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrSpellingListIndex.inc
-+$(intermediates)/include/clang/Sema/AttrSpellingListIndex.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Sema/AttrSpellingListIndex.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-spelling-index)
-+endif
-+
-+ifneq ($(findstring AttrPCHRead.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Serialization/AttrPCHRead.inc
-+$(intermediates)/include/clang/Serialization/AttrPCHRead.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Serialization/AttrPCHRead.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-pch-read)
-+endif
-+
-+ifneq ($(findstring AttrPCHWrite.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Serialization/AttrPCHWrite.inc
-+$(intermediates)/include/clang/Serialization/AttrPCHWrite.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Serialization/AttrPCHWrite.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-pch-write)
-+endif
-+
-+ifneq ($(findstring Attrs.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/Attrs.inc
-+$(intermediates)/include/clang/AST/Attrs.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/AST/Attrs.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-classes)
-+endif
-+
-+ifneq ($(findstring AttrParserStringSwitches.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Parse/AttrParserStringSwitches.inc
-+$(intermediates)/include/clang/Parse/AttrParserStringSwitches.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Parse/AttrParserStringSwitches.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-parser-string-switches)
-+endif
-+
-+ifneq ($(findstring AttrVisitor.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/AttrVisitor.inc
-+$(intermediates)/include/clang/AST/AttrVisitor.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/AST/AttrVisitor.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-ast-visitor)
-+endif
-+
-+ifneq ($(findstring AttrParsedAttrKinds.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrParsedAttrKinds.inc
-+$(intermediates)/include/clang/Sema/AttrParsedAttrKinds.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Sema/AttrParsedAttrKinds.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-parsed-attr-kinds)
-+endif
-+
-+ifneq ($(findstring AttrParsedAttrImpl.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrParsedAttrImpl.inc
-+$(intermediates)/include/clang/Sema/AttrParsedAttrImpl.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Sema/AttrParsedAttrImpl.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-parsed-attr-impl)
-+endif
-+
-+ifneq ($(findstring AttrParsedAttrList.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrParsedAttrList.inc
-+$(intermediates)/include/clang/Sema/AttrParsedAttrList.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Sema/AttrParsedAttrList.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-parsed-attr-list)
-+endif
-+
-+ifneq ($(findstring AttrTemplateInstantiate.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrTemplateInstantiate.inc
-+$(intermediates)/include/clang/Sema/AttrTemplateInstantiate.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Sema/AttrTemplateInstantiate.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-attr-template-instantiate)
-+endif
-+
-+ifneq ($(findstring Checkers.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/Checkers.inc
-+$(intermediates)/Checkers.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/Checkers.inc: \
-+ $(CLANG_ROOT_PATH)/lib/StaticAnalyzer/Checkers/Checkers.td \
-+ $(CLANG_ROOT_PATH)/include/clang/StaticAnalyzer/Checkers/CheckerBase.td \
-+ | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-sa-checkers)
-+endif
-+
-+ifneq ($(findstring CommentCommandInfo.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentCommandInfo.inc
-+$(intermediates)/include/clang/AST/CommentCommandInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/AST/CommentCommandInfo.inc: \
-+ $(CLANG_ROOT_PATH)/include/clang/AST/CommentCommands.td \
-+ | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-comment-command-info)
-+endif
-+
-+ifneq ($(findstring CommentCommandList.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentCommandList.inc
-+$(intermediates)/include/clang/AST/CommentCommandList.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/AST/CommentCommandList.inc: \
-+ $(CLANG_ROOT_PATH)/include/clang/AST/CommentCommands.td \
-+ | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-comment-command-list)
-+endif
-+
-+ifneq ($(findstring CommentHTMLNamedCharacterReferences.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentHTMLNamedCharacterReferences.inc
-+$(intermediates)/include/clang/AST/CommentHTMLNamedCharacterReferences.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/AST/CommentHTMLNamedCharacterReferences.inc: \
-+ $(CLANG_ROOT_PATH)/include/clang/AST/CommentHTMLNamedCharacterReferences.td \
-+ | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-comment-html-named-character-references)
-+endif
-+
-+ifneq ($(findstring CommentHTMLTagsProperties.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentHTMLTagsProperties.inc
-+$(intermediates)/include/clang/AST/CommentHTMLTagsProperties.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/AST/CommentHTMLTagsProperties.inc: \
-+ $(CLANG_ROOT_PATH)/include/clang/AST/CommentHTMLTags.td \
-+ | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-comment-html-tags-properties)
-+endif
-+
-+ifneq ($(findstring CommentHTMLTags.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentHTMLTags.inc
-+$(intermediates)/include/clang/AST/CommentHTMLTags.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/AST/CommentHTMLTags.inc: \
-+ $(CLANG_ROOT_PATH)/include/clang/AST/CommentHTMLTags.td \
-+ | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-comment-html-tags)
-+endif
-+
-+ifneq ($(findstring CommentNodes.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentNodes.inc
-+$(intermediates)/include/clang/AST/CommentNodes.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/AST/CommentNodes.inc: \
-+ $(CLANG_ROOT_PATH)/include/clang/Basic/CommentNodes.td \
-+ | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-comment-nodes)
-+endif
-+
-+ifneq ($(filter Diagnostic%Kinds.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/include/clang/Basic/,$(filter Diagnostic%Kinds.inc,$(TBLGEN_TABLES)))
-+$(intermediates)/include/clang/Basic/Diagnostic%Kinds.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Basic/Diagnostic%Kinds.inc: \
-+ $(CLANG_ROOT_PATH)/include/clang/Basic/Diagnostic.td \
-+ $(CLANG_ROOT_PATH)/include/clang/Basic/Diagnostic%Kinds.td \
-+ | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-diags-defs -clang-component=$(patsubst Diagnostic%Kinds.inc,%,$(@F)))
-+endif
-+
-+ifneq ($(findstring DiagnosticGroups.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/DiagnosticGroups.inc
-+$(intermediates)/include/clang/Basic/DiagnosticGroups.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Basic/DiagnosticGroups.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Diagnostic.td $(CLANG_ROOT_PATH)/include/clang/Basic/DiagnosticGroups.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-diag-groups)
-+endif
-+
-+ifneq ($(findstring DiagnosticIndexName.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/DiagnosticIndexName.inc
-+$(intermediates)/include/clang/Basic/DiagnosticIndexName.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Basic/DiagnosticIndexName.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Diagnostic.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-diag-groups)
-+endif
-+
-+ifneq ($(findstring DeclNodes.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/DeclNodes.inc
-+$(intermediates)/include/clang/AST/DeclNodes.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/AST/DeclNodes.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/DeclNodes.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-decl-nodes)
-+endif
-+
-+ifneq ($(findstring StmtNodes.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/StmtNodes.inc
-+$(intermediates)/include/clang/AST/StmtNodes.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/AST/StmtNodes.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/StmtNodes.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,clang-stmt-nodes)
-+endif
-+
-+ifneq ($(findstring arm_neon.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/arm_neon.inc
-+$(intermediates)/include/clang/Basic/arm_neon.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Basic/arm_neon.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/arm_neon.td | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,arm-neon-sema)
-+endif
-+
-+ifneq ($(findstring Options.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Driver/Options.inc
-+$(intermediates)/include/clang/Driver/Options.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Driver/Options.inc: $(CLANG_ROOT_PATH)/include/clang/Driver/Options.td $(LLVM_ROOT_PATH)/include/llvm/Option/OptParser.td $(CLANG_ROOT_PATH)/include/clang/Driver/CC1Options.td \
-+ | $(CLANG_TBLGEN) $(TBLGEN)
-+ $(call transform-host-td-to-out,opt-parser-defs)
-+endif
-+
-+ifneq ($(findstring CC1AsOptions.inc,$(TBLGEN_TABLES)),)
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Driver/CC1AsOptions.inc
-+$(intermediates)/include/clang/Driver/CC1AsOptions.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(intermediates)/include/clang/Driver/CC1AsOptions.inc: $(CLANG_ROOT_PATH)/include/clang/Driver/CC1AsOptions.td $(LLVM_ROOT_PATH)/include/llvm/Option/OptParser.td \
-+ | $(CLANG_TBLGEN) $(TBLGEN)
-+ $(call transform-host-td-to-out,opt-parser-defs)
-+endif
-+
-+LOCAL_C_INCLUDES += $(intermediates)/include
-+
-+endif
-diff --git a/clang-version-inc.mk b/clang-version-inc.mk
-new file mode 100644
-index 0000000..5a26276
---- /dev/null
-+++ b/clang-version-inc.mk
-@@ -0,0 +1,36 @@
-+###########################################################
-+## Generate clang/Basic/Version.inc
-+###########################################################
-+ifeq ($(LOCAL_MODULE_CLASS),)
-+ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-+endif
-+
-+intermediates := $(call local-intermediates-dir)
-+
-+LLVMVersion := $(shell grep PACKAGE_VERSION $(LLVM_ROOT_PATH)/host/include/llvm/Config/config.h | sed -e 's/\#define PACKAGE_VERSION "\(.*\)"/\1/g')
-+
-+# Compute the Clang version from the LLVM version, unless specified explicitly.
-+# (Copy from include/clang/Basic/Makefile)
-+CLANG_VERSION := $(subst svn,,$(LLVMVersion))
-+CLANG_VERSION_COMPONENTS := $(subst ., ,$(CLANG_VERSION))
-+CLANG_VERSION_MAJOR := $(word 1,$(CLANG_VERSION_COMPONENTS))
-+CLANG_VERSION_MINOR := $(word 2,$(CLANG_VERSION_COMPONENTS))
-+CLANG_VERSION_PATCHLEVEL := $(word 3,$(CLANG_VERSION_COMPONENTS))
-+ifeq ($(CLANG_VERSION_PATCHLEVEL),)
-+ CLANG_HAS_VERSION_PATCHLEVEL := 0
-+else
-+ CLANG_HAS_VERSION_PATCHLEVEL := 1
-+endif
-+
-+LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/Version.inc
-+$(intermediates)/include/clang/Basic/Version.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Version.inc.in \
-+ $(LLVM_ROOT_PATH)/host/include/llvm/Config/config.h
-+ @echo "Updating Clang version info."
-+ @mkdir -p $(dir $@)
-+ $(hide) sed -e "s#@CLANG_VERSION@#$(CLANG_VERSION)#g" \
-+ -e "s#@CLANG_VERSION_MAJOR@#$(CLANG_VERSION_MAJOR)#g" \
-+ -e "s#@CLANG_VERSION_MINOR@#$(CLANG_VERSION_MINOR)#g" \
-+ -e "s#@CLANG_VERSION_PATCHLEVEL@#$(CLANG_VERSION_PATCHLEVEL)#g" \
-+ -e "s#@CLANG_HAS_VERSION_PATCHLEVEL@#$(CLANG_HAS_VERSION_PATCHLEVEL)#g" \
-+ $< > $@
-+
-diff --git a/clang.mk b/clang.mk
-new file mode 100644
-index 0000000..587a510
---- /dev/null
-+++ b/clang.mk
-@@ -0,0 +1,7 @@
-+ifeq ($(CLANG_ROOT_PATH),)
-+$(error Must set variable CLANG_ROOT_PATH before including this! $(LOCAL_PATH))
-+endif
-+
-+CLANG_HOST_BUILD_MK := $(CLANG_ROOT_PATH)/clang-host-build.mk
-+CLANG_TBLGEN_RULES_MK := $(CLANG_ROOT_PATH)/clang-tblgen-rules.mk
-+CLANG_VERSION_INC_MK := $(CLANG_ROOT_PATH)/clang-version-inc.mk
-diff --git a/host_shared_clang.mk b/host_shared_clang.mk
-new file mode 100644
-index 0000000..f9e4181
---- /dev/null
-+++ b/host_shared_clang.mk
-@@ -0,0 +1,41 @@
-+# Don't build the library unless forced to.
-+ifeq (true,$(FORCE_BUILD_LLVM_COMPONENTS))
-+# Don't build the library in unbundled branches.
-+ifeq (,$(TARGET_BUILD_APPS))
-+
-+LOCAL_PATH:= $(call my-dir)
-+
-+LOCAL_IS_HOST_MODULE := true
-+
-+LOCAL_MODULE:= libclang
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_WHOLE_STATIC_LIBRARIES := \
-+ libclangDriver \
-+ libclangParse \
-+ libclangSema \
-+ libclangAnalysis \
-+ libclangCodeGen \
-+ libclangAST \
-+ libclangEdit \
-+ libclangLex \
-+ libclangFrontend \
-+ libclangBasic \
-+ libclangRewriteFrontend \
-+ libclangRewriteCore \
-+ libclangSerialization
-+
-+LOCAL_SHARED_LIBRARIES := libLLVM
-+
-+ifeq ($(HOST_OS),windows)
-+ LOCAL_LDLIBS := -limagehlp -lpsapi
-+else
-+ LOCAL_LDLIBS := -ldl -lpthread
-+endif
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(BUILD_HOST_SHARED_LIBRARY)
-+
-+endif # don't build in unbundled branches
-+endif # don't build unless forced to
-diff --git a/include/clang/Config/config.h b/include/clang/Config/config.h
-new file mode 100644
-index 0000000..51ef9f9
---- /dev/null
-+++ b/include/clang/Config/config.h
-@@ -0,0 +1,25 @@
-+/* tools/clang/include/clang/Config/config.h. Generated from config.h.in by configure. */
-+/* include/clang/Config/config.h.in. */
-+
-+#ifndef ANDROID_CONFIG_H
-+#define ANDROID_CONFIG_H
-+
-+/* Bug report URL. */
-+#define BUG_REPORT_URL "http://llvm.org/bugs/"
-+
-+/* Relative directory for resource files */
-+#define CLANG_RESOURCE_DIR ""
-+
-+/* Directories clang will search for headers */
-+#define C_INCLUDE_DIRS ""
-+
-+/* Linker version detected at compile time. */
-+#define HOST_LINK_VERSION "2.22"
-+
-+/* Default <path> to all compiler invocations for --sysroot=<path>. */
-+#define DEFAULT_SYSROOT ""
-+
-+/* Directory where gcc is installed. */
-+#define GCC_INSTALL_PREFIX ""
-+
-+#endif
-diff --git a/lib/ARCMigrate/Android.mk b/lib/ARCMigrate/Android.mk
-new file mode 100644
-index 0000000..834f573
---- /dev/null
-+++ b/lib/ARCMigrate/Android.mk
-@@ -0,0 +1,51 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := \
-+ Attrs.inc \
-+ AttrList.inc \
-+ AttrParsedAttrList.inc \
-+ AttrVisitor.inc \
-+ CommentCommandList.inc \
-+ CommentNodes.inc \
-+ DeclNodes.inc \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticGroups.inc \
-+ DiagnosticSemaKinds.inc \
-+ StmtNodes.inc
-+
-+clang_arc_migrate_SRC_FILES := \
-+ ARCMT.cpp \
-+ ARCMTActions.cpp \
-+ FileRemapper.cpp \
-+ ObjCMT.cpp \
-+ PlistReporter.cpp \
-+ TransAPIUses.cpp \
-+ TransARCAssign.cpp \
-+ TransAutoreleasePool.cpp \
-+ TransBlockObjCVariable.cpp \
-+ TransEmptyStatementsAndDealloc.cpp \
-+ TransformActions.cpp \
-+ Transforms.cpp \
-+ TransGCAttrs.cpp \
-+ TransGCCalls.cpp \
-+ TransProperties.cpp \
-+ TransProtectedScope.cpp \
-+ TransRetainReleaseDealloc.cpp \
-+ TransUnbridgedCasts.cpp \
-+ TransUnusedInitDelegate.cpp \
-+ TransZeroOutPropsInDealloc.cpp
-+
-+LOCAL_SRC_FILES := $(clang_arc_migrate_SRC_FILES)
-+
-+LOCAL_MODULE := libclangARCMigrate
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_VERSION_INC_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/AST/Android.mk b/lib/AST/Android.mk
-new file mode 100644
-index 0000000..9d0c005
---- /dev/null
-+++ b/lib/AST/Android.mk
-@@ -0,0 +1,94 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := \
-+ AttrDump.inc \
-+ AttrImpl.inc \
-+ AttrList.inc \
-+ Attrs.inc \
-+ AttrVisitor.inc \
-+ CommentCommandInfo.inc \
-+ CommentCommandList.inc \
-+ CommentHTMLNamedCharacterReferences.inc \
-+ CommentHTMLTags.inc \
-+ CommentHTMLTagsProperties.inc \
-+ CommentNodes.inc \
-+ DeclNodes.inc \
-+ DiagnosticASTKinds.inc \
-+ DiagnosticCommentKinds.inc \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticSemaKinds.inc \
-+ StmtNodes.inc
-+
-+clang_ast_SRC_FILES := \
-+ APValue.cpp \
-+ ASTConsumer.cpp \
-+ ASTContext.cpp \
-+ ASTDiagnostic.cpp \
-+ ASTDumper.cpp \
-+ ASTImporter.cpp \
-+ ASTTypeTraits.cpp \
-+ AttrImpl.cpp \
-+ Comment.cpp \
-+ CommentBriefParser.cpp \
-+ CommentCommandTraits.cpp \
-+ CommentLexer.cpp \
-+ CommentParser.cpp \
-+ CommentSema.cpp \
-+ CXXInheritance.cpp \
-+ Decl.cpp \
-+ DeclarationName.cpp \
-+ DeclBase.cpp \
-+ DeclCXX.cpp \
-+ DeclFriend.cpp \
-+ DeclGroup.cpp \
-+ DeclObjC.cpp \
-+ DeclOpenMP.cpp \
-+ DeclPrinter.cpp \
-+ DeclTemplate.cpp \
-+ Expr.cpp \
-+ ExprClassification.cpp \
-+ ExprConstant.cpp \
-+ ExprCXX.cpp \
-+ ExternalASTSource.cpp \
-+ InheritViz.cpp \
-+ ItaniumCXXABI.cpp \
-+ ItaniumMangle.cpp \
-+ Mangle.cpp \
-+ MangleNumberingContext.cpp \
-+ MicrosoftCXXABI.cpp \
-+ MicrosoftMangle.cpp \
-+ NestedNameSpecifier.cpp \
-+ NSAPI.cpp \
-+ ParentMap.cpp \
-+ RecordLayout.cpp \
-+ RecordLayoutBuilder.cpp \
-+ RawCommentList.cpp \
-+ SelectorLocationsKind.cpp \
-+ Stmt.cpp \
-+ StmtIterator.cpp \
-+ StmtPrinter.cpp \
-+ StmtProfile.cpp \
-+ StmtViz.cpp \
-+ TemplateBase.cpp \
-+ TemplateName.cpp \
-+ Type.cpp \
-+ TypeLoc.cpp \
-+ TypePrinter.cpp \
-+ VTTBuilder.cpp \
-+ VTableBuilder.cpp
-+
-+LOCAL_SRC_FILES := $(clang_ast_SRC_FILES)
-+
-+LOCAL_MODULE:= libclangAST
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Analysis/Android.mk b/lib/Analysis/Android.mk
-new file mode 100644
-index 0000000..8ccbf3e
---- /dev/null
-+++ b/lib/Analysis/Android.mk
-@@ -0,0 +1,51 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := \
-+ AttrList.inc \
-+ Attrs.inc \
-+ AttrVisitor.inc \
-+ CommentCommandList.inc \
-+ CommentNodes.inc \
-+ DeclNodes.inc \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticAnalysisKinds.inc \
-+ StmtNodes.inc
-+
-+clang_analysis_SRC_FILES := \
-+ AnalysisDeclContext.cpp \
-+ BodyFarm.cpp \
-+ CallGraph.cpp \
-+ CFG.cpp \
-+ CFGReachabilityAnalysis.cpp \
-+ CFGStmtMap.cpp \
-+ CocoaConventions.cpp \
-+ Consumed.cpp \
-+ Dominators.cpp \
-+ FormatString.cpp \
-+ LiveVariables.cpp \
-+ ObjCNoReturn.cpp \
-+ PostOrderCFGView.cpp \
-+ PrintfFormatString.cpp \
-+ ProgramPoint.cpp \
-+ PseudoConstantAnalysis.cpp \
-+ ReachableCode.cpp \
-+ ScanfFormatString.cpp \
-+ ThreadSafety.cpp \
-+ UninitializedValues.cpp
-+
-+
-+LOCAL_SRC_FILES := $(clang_analysis_SRC_FILES)
-+
-+LOCAL_MODULE:= libclangAnalysis
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Basic/Android.mk b/lib/Basic/Android.mk
-new file mode 100644
-index 0000000..54e61c2
---- /dev/null
-+++ b/lib/Basic/Android.mk
-@@ -0,0 +1,57 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := \
-+ AttrHasAttributeImpl.inc \
-+ DiagnosticASTKinds.inc \
-+ DiagnosticAnalysisKinds.inc \
-+ DiagnosticCommentKinds.inc \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticDriverKinds.inc \
-+ DiagnosticFrontendKinds.inc \
-+ DiagnosticGroups.inc \
-+ DiagnosticIndexName.inc \
-+ DiagnosticLexKinds.inc \
-+ DiagnosticParseKinds.inc \
-+ DiagnosticSemaKinds.inc \
-+ DiagnosticSerializationKinds.inc \
-+ arm_neon.inc
-+
-+clang_basic_SRC_FILES := \
-+ Attributes.cpp \
-+ Builtins.cpp \
-+ CharInfo.cpp \
-+ Diagnostic.cpp \
-+ DiagnosticIDs.cpp \
-+ FileManager.cpp \
-+ FileSystemStatCache.cpp \
-+ IdentifierTable.cpp \
-+ LangOptions.cpp \
-+ Module.cpp \
-+ ObjCRuntime.cpp \
-+ OpenMPKinds.cpp \
-+ OperatorPrecedence.cpp \
-+ SourceLocation.cpp \
-+ SourceManager.cpp \
-+ TargetInfo.cpp \
-+ Targets.cpp \
-+ TokenKinds.cpp \
-+ Version.cpp \
-+ VersionTuple.cpp \
-+ VirtualFileSystem.cpp
-+
-+LOCAL_SRC_FILES := $(clang_basic_SRC_FILES)
-+
-+LOCAL_MODULE:= libclangBasic
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_VERSION_INC_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/CodeGen/Android.mk b/lib/CodeGen/Android.mk
-new file mode 100644
-index 0000000..1c4a0b7
---- /dev/null
-+++ b/lib/CodeGen/Android.mk
-@@ -0,0 +1,75 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+clang_codegen_TBLGEN_TABLES := \
-+ AttrList.inc \
-+ Attrs.inc \
-+ AttrVisitor.inc \
-+ CommentCommandList.inc \
-+ CommentNodes.inc \
-+ DeclNodes.inc \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticFrontendKinds.inc \
-+ DiagnosticSemaKinds.inc \
-+ StmtNodes.inc \
-+ arm_neon.inc
-+
-+clang_codegen_SRC_FILES := \
-+ BackendUtil.cpp \
-+ CGAtomic.cpp \
-+ CGBlocks.cpp \
-+ CGBuiltin.cpp \
-+ CGCUDANV.cpp \
-+ CGCUDARuntime.cpp \
-+ CGCXX.cpp \
-+ CGCXXABI.cpp \
-+ CGCall.cpp \
-+ CGClass.cpp \
-+ CGCleanup.cpp \
-+ CGDebugInfo.cpp \
-+ CGDecl.cpp \
-+ CGDeclCXX.cpp \
-+ CGException.cpp \
-+ CGExpr.cpp \
-+ CGExprAgg.cpp \
-+ CGExprCXX.cpp \
-+ CGExprComplex.cpp \
-+ CGExprConstant.cpp \
-+ CGExprScalar.cpp \
-+ CGObjC.cpp \
-+ CGObjCGNU.cpp \
-+ CGObjCMac.cpp \
-+ CGObjCRuntime.cpp \
-+ CGOpenCLRuntime.cpp \
-+ CGRTTI.cpp \
-+ CGRecordLayoutBuilder.cpp \
-+ CGStmt.cpp \
-+ CGVTT.cpp \
-+ CGVTables.cpp \
-+ CodeGenABITypes.cpp \
-+ CodeGenAction.cpp \
-+ CodeGenFunction.cpp \
-+ CodeGenModule.cpp \
-+ CodeGenPGO.cpp \
-+ CodeGenTBAA.cpp \
-+ CodeGenTypes.cpp \
-+ ItaniumCXXABI.cpp \
-+ MicrosoftCXXABI.cpp \
-+ ModuleBuilder.cpp \
-+ TargetInfo.cpp
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libclangCodeGen
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(clang_codegen_SRC_FILES)
-+TBLGEN_TABLES := $(clang_codegen_TBLGEN_TABLES)
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_VERSION_INC_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Driver/Android.mk b/lib/Driver/Android.mk
-new file mode 100644
-index 0000000..559ca83
---- /dev/null
-+++ b/lib/Driver/Android.mk
-@@ -0,0 +1,44 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := \
-+ AttrVisitor.inc \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticDriverKinds.inc \
-+ DiagnosticSemaKinds.inc \
-+ Options.inc \
-+ CC1Options.inc \
-+ CC1AsOptions.inc
-+
-+clang_driver_SRC_FILES := \
-+ Action.cpp \
-+ CC1AsOptions.cpp \
-+ Compilation.cpp \
-+ Driver.cpp \
-+ DriverOptions.cpp \
-+ Job.cpp \
-+ Multilib.cpp \
-+ Phases.cpp \
-+ SanitizerArgs.cpp \
-+ Tool.cpp \
-+ ToolChain.cpp \
-+ ToolChains.cpp \
-+ Tools.cpp \
-+ Types.cpp \
-+ WindowsToolChain.cpp
-+
-+LOCAL_SRC_FILES := $(clang_driver_SRC_FILES)
-+
-+LOCAL_MODULE := libclangDriver
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(CLANG_VERSION_INC_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Edit/Android.mk b/lib/Edit/Android.mk
-new file mode 100644
-index 0000000..87f4e25
---- /dev/null
-+++ b/lib/Edit/Android.mk
-@@ -0,0 +1,32 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+clang_edit_SRC_FILES := \
-+ Commit.cpp \
-+ EditedSource.cpp \
-+ RewriteObjCFoundationAPI.cpp
-+
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := \
-+ Attrs.inc \
-+ AttrList.inc \
-+ CommentCommandList.inc \
-+ CommentNodes.inc \
-+ DeclNodes.inc \
-+ DiagnosticCommonKinds.inc \
-+ StmtNodes.inc
-+
-+LOCAL_SRC_FILES := $(clang_edit_SRC_FILES)
-+
-+LOCAL_MODULE:= libclangEdit
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_VERSION_INC_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Format/Android.mk b/lib/Format/Android.mk
-new file mode 100644
-index 0000000..302f28f
---- /dev/null
-+++ b/lib/Format/Android.mk
-@@ -0,0 +1,43 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := \
-+ AttrHasAttributeImpl.inc \
-+ DiagnosticASTKinds.inc \
-+ DiagnosticAnalysisKinds.inc \
-+ DiagnosticCommentKinds.inc \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticDriverKinds.inc \
-+ DiagnosticFrontendKinds.inc \
-+ DiagnosticGroups.inc \
-+ DiagnosticIndexName.inc \
-+ DiagnosticLexKinds.inc \
-+ DiagnosticParseKinds.inc \
-+ DiagnosticSemaKinds.inc \
-+ DiagnosticSerializationKinds.inc \
-+ arm_neon.inc
-+
-+clang_format_SRC_FILES := \
-+ BreakableToken.cpp \
-+ ContinuationIndenter.cpp \
-+ Format.cpp \
-+ FormatToken.cpp \
-+ TokenAnnotator.cpp \
-+ UnwrappedLineParser.cpp \
-+ WhitespaceManager.cpp
-+
-+LOCAL_SRC_FILES := $(clang_format_SRC_FILES)
-+
-+LOCAL_MODULE:= libclangFormat
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_VERSION_INC_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Frontend/Android.mk b/lib/Frontend/Android.mk
-new file mode 100644
-index 0000000..c3c42c3
---- /dev/null
-+++ b/lib/Frontend/Android.mk
-@@ -0,0 +1,66 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := \
-+ AttrList.inc \
-+ Attrs.inc \
-+ AttrParsedAttrList.inc \
-+ AttrVisitor.inc \
-+ CC1Options.inc \
-+ CommentCommandList.inc \
-+ CommentNodes.inc \
-+ DiagnosticASTKinds.inc \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticDriverKinds.inc \
-+ DiagnosticFrontendKinds.inc \
-+ DiagnosticLexKinds.inc \
-+ DiagnosticSemaKinds.inc \
-+ DeclNodes.inc \
-+ StmtNodes.inc
-+
-+clang_frontend_SRC_FILES := \
-+ ASTConsumers.cpp \
-+ ASTMerge.cpp \
-+ ASTUnit.cpp \
-+ CacheTokens.cpp \
-+ ChainedDiagnosticConsumer.cpp \
-+ ChainedIncludesSource.cpp \
-+ CompilerInstance.cpp \
-+ CompilerInvocation.cpp \
-+ CreateInvocationFromCommandLine.cpp \
-+ DependencyFile.cpp \
-+ DependencyGraph.cpp \
-+ DiagnosticRenderer.cpp \
-+ FrontendAction.cpp \
-+ FrontendActions.cpp \
-+ FrontendOptions.cpp \
-+ HeaderIncludeGen.cpp \
-+ InitHeaderSearch.cpp \
-+ InitPreprocessor.cpp \
-+ LangStandards.cpp \
-+ LayoutOverrideSource.cpp \
-+ LogDiagnosticPrinter.cpp \
-+ MultiplexConsumer.cpp \
-+ PrintPreprocessedOutput.cpp \
-+ SerializedDiagnosticPrinter.cpp \
-+ TextDiagnostic.cpp \
-+ TextDiagnosticBuffer.cpp \
-+ TextDiagnosticPrinter.cpp \
-+ Warnings.cpp \
-+ VerifyDiagnosticConsumer.cpp
-+
-+LOCAL_SRC_FILES := $(clang_frontend_SRC_FILES)
-+
-+LOCAL_MODULE:= libclangFrontend
-+LOCAL_MODULE_TAGS:= optional
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(CLANG_VERSION_INC_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/FrontendTool/Android.mk b/lib/FrontendTool/Android.mk
-new file mode 100644
-index 0000000..2496f6b
---- /dev/null
-+++ b/lib/FrontendTool/Android.mk
-@@ -0,0 +1,24 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libclangFrontendTool
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+TBLGEN_TABLES := \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticFrontendKinds.inc \
-+ CC1Options.inc
-+
-+clang_frontend_tool_SRC_FILES := \
-+ ExecuteCompilerInvocation.cpp
-+
-+LOCAL_SRC_FILES := $(clang_frontend_tool_SRC_FILES)
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Headers/Android.mk b/lib/Headers/Android.mk
-new file mode 100644
-index 0000000..117129e
---- /dev/null
-+++ b/lib/Headers/Android.mk
-@@ -0,0 +1,11 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+include $(CLEAR_VARS)
-+
-+$(TARGET_OUT_HEADERS)/clang/arm_neon.h: TBLGEN_LOCAL_MODULE := arm_neon.h
-+$(TARGET_OUT_HEADERS)/clang/arm_neon.h: $(CLANG_ROOT_PATH)/include/clang/Basic/arm_neon.td \
-+ | $(CLANG_TBLGEN)
-+ $(call transform-host-clang-td-to-out,arm-neon)
-+
-+# Make sure when clang is used, arm_neon.h does exist.
-+$(CLANG): | $(TARGET_OUT_HEADERS)/clang/arm_neon.h
-diff --git a/lib/Lex/Android.mk b/lib/Lex/Android.mk
-new file mode 100644
-index 0000000..a5e9661
---- /dev/null
-+++ b/lib/Lex/Android.mk
-@@ -0,0 +1,45 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := \
-+ DiagnosticLexKinds.inc \
-+ DiagnosticCommonKinds.inc
-+
-+clang_lex_SRC_FILES := \
-+ HeaderMap.cpp \
-+ HeaderSearch.cpp \
-+ Lexer.cpp \
-+ LiteralSupport.cpp \
-+ MacroArgs.cpp \
-+ MacroInfo.cpp \
-+ ModuleMap.cpp \
-+ PPCaching.cpp \
-+ PPCallbacks.cpp \
-+ PPConditionalDirectiveRecord.cpp \
-+ PPDirectives.cpp \
-+ PPExpressions.cpp \
-+ PPLexerChange.cpp \
-+ PPMacroExpansion.cpp \
-+ PTHLexer.cpp \
-+ Pragma.cpp \
-+ PreprocessingRecord.cpp \
-+ Preprocessor.cpp \
-+ PreprocessorLexer.cpp \
-+ ScratchBuffer.cpp \
-+ TokenConcatenation.cpp \
-+ TokenLexer.cpp
-+
-+LOCAL_SRC_FILES := $(clang_lex_SRC_FILES)
-+
-+LOCAL_MODULE:= libclangLex
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Parse/Android.mk b/lib/Parse/Android.mk
-new file mode 100644
-index 0000000..5bc2200
---- /dev/null
-+++ b/lib/Parse/Android.mk
-@@ -0,0 +1,47 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := \
-+ AttrList.inc \
-+ AttrParsedAttrList.inc \
-+ Attrs.inc \
-+ AttrVisitor.inc \
-+ AttrParserStringSwitches.inc \
-+ CommentCommandList.inc \
-+ CommentNodes.inc \
-+ DeclNodes.inc \
-+ DiagnosticParseKinds.inc \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticSemaKinds.inc \
-+ StmtNodes.inc
-+
-+clang_parse_SRC_FILES := \
-+ ParseAST.cpp \
-+ ParseCXXInlineMethods.cpp \
-+ ParseDecl.cpp \
-+ ParseDeclCXX.cpp \
-+ ParseExpr.cpp \
-+ ParseExprCXX.cpp \
-+ ParseInit.cpp \
-+ ParseObjc.cpp \
-+ ParseOpenMP.cpp \
-+ ParsePragma.cpp \
-+ ParseStmt.cpp \
-+ ParseTemplate.cpp \
-+ ParseTentative.cpp \
-+ Parser.cpp
-+
-+LOCAL_SRC_FILES := $(clang_parse_SRC_FILES)
-+
-+LOCAL_MODULE:= libclangParse
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Rewrite/Core/Android.mk b/lib/Rewrite/Core/Android.mk
-new file mode 100644
-index 0000000..546fc04
---- /dev/null
-+++ b/lib/Rewrite/Core/Android.mk
-@@ -0,0 +1,34 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libclangRewriteCore
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+TBLGEN_TABLES := \
-+ AttrList.inc \
-+ Attrs.inc \
-+ AttrParsedAttrList.inc \
-+ CommentNodes.inc \
-+ DeclNodes.inc \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticFrontendKinds.inc \
-+ StmtNodes.inc
-+
-+clang_rewrite_core_SRC_FILES := \
-+ DeltaTree.cpp \
-+ HTMLRewrite.cpp \
-+ RewriteRope.cpp \
-+ Rewriter.cpp \
-+ TokenRewriter.cpp
-+
-+LOCAL_SRC_FILES := $(clang_rewrite_core_SRC_FILES)
-+
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Rewrite/Frontend/Android.mk b/lib/Rewrite/Frontend/Android.mk
-new file mode 100644
-index 0000000..2bbf311
---- /dev/null
-+++ b/lib/Rewrite/Frontend/Android.mk
-@@ -0,0 +1,38 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libclangRewriteFrontend
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+TBLGEN_TABLES := \
-+ AttrList.inc \
-+ Attrs.inc \
-+ AttrParsedAttrList.inc \
-+ CommentCommandList.inc \
-+ CommentNodes.inc \
-+ DeclNodes.inc \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticFrontendKinds.inc \
-+ StmtNodes.inc
-+
-+clang_rewrite_frontend_SRC_FILES := \
-+ FixItRewriter.cpp \
-+ FrontendActions.cpp \
-+ HTMLPrint.cpp \
-+ InclusionRewriter.cpp \
-+ RewriteMacros.cpp \
-+ RewriteModernObjC.cpp \
-+ RewriteObjC.cpp \
-+ RewriteTest.cpp
-+
-+LOCAL_SRC_FILES := $(clang_rewrite_frontend_SRC_FILES)
-+
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Sema/Android.mk b/lib/Sema/Android.mk
-new file mode 100644
-index 0000000..77a2e93
---- /dev/null
-+++ b/lib/Sema/Android.mk
-@@ -0,0 +1,84 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := \
-+ AttrList.inc \
-+ Attrs.inc \
-+ AttrParsedAttrKinds.inc \
-+ AttrParsedAttrImpl.inc \
-+ AttrParsedAttrList.inc \
-+ AttrSpellingListIndex.inc \
-+ AttrTemplateInstantiate.inc \
-+ AttrVisitor.inc \
-+ CommentCommandList.inc \
-+ CommentNodes.inc \
-+ DeclNodes.inc \
-+ DiagnosticASTKinds.inc \
-+ DiagnosticSemaKinds.inc \
-+ DiagnosticParseKinds.inc \
-+ DiagnosticCommentKinds.inc \
-+ DiagnosticCommonKinds.inc \
-+ StmtNodes.inc \
-+ arm_neon.inc
-+
-+clang_sema_SRC_FILES := \
-+ AnalysisBasedWarnings.cpp \
-+ AttributeList.cpp \
-+ CodeCompleteConsumer.cpp \
-+ DeclSpec.cpp \
-+ IdentifierResolver.cpp \
-+ DelayedDiagnostic.cpp \
-+ JumpDiagnostics.cpp \
-+ MultiplexExternalSemaSource.cpp \
-+ Scope.cpp \
-+ ScopeInfo.cpp \
-+ Sema.cpp \
-+ SemaAccess.cpp \
-+ SemaAttr.cpp \
-+ SemaCXXScopeSpec.cpp \
-+ SemaCast.cpp \
-+ SemaChecking.cpp \
-+ SemaCodeComplete.cpp \
-+ SemaConsumer.cpp \
-+ SemaDecl.cpp \
-+ SemaDeclAttr.cpp \
-+ SemaDeclCXX.cpp \
-+ SemaDeclObjC.cpp \
-+ SemaExceptionSpec.cpp \
-+ SemaExpr.cpp \
-+ SemaExprCXX.cpp \
-+ SemaExprMember.cpp \
-+ SemaExprObjC.cpp \
-+ SemaFixItUtils.cpp \
-+ SemaInit.cpp \
-+ SemaLambda.cpp \
-+ SemaLookup.cpp \
-+ SemaObjCProperty.cpp \
-+ SemaOpenMP.cpp \
-+ SemaOverload.cpp \
-+ SemaPseudoObject.cpp \
-+ SemaStmt.cpp \
-+ SemaStmtAsm.cpp \
-+ SemaStmtAttr.cpp \
-+ SemaTemplate.cpp \
-+ SemaTemplateDeduction.cpp \
-+ SemaTemplateInstantiate.cpp \
-+ SemaTemplateInstantiateDecl.cpp \
-+ SemaTemplateVariadic.cpp \
-+ SemaType.cpp \
-+ TypeLocBuilder.cpp
-+
-+LOCAL_SRC_FILES := $(clang_sema_SRC_FILES)
-+
-+LOCAL_MODULE:= libclangSema
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Serialization/Android.mk b/lib/Serialization/Android.mk
-new file mode 100644
-index 0000000..751e306
---- /dev/null
-+++ b/lib/Serialization/Android.mk
-@@ -0,0 +1,46 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libclangSerialization
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+TBLGEN_TABLES := \
-+ AttrList.inc \
-+ AttrParsedAttrList.inc \
-+ AttrPCHRead.inc \
-+ AttrPCHWrite.inc \
-+ Attrs.inc \
-+ CommentCommandList.inc \
-+ CommentNodes.inc \
-+ DeclNodes.inc \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticFrontendKinds.inc \
-+ DiagnosticSemaKinds.inc \
-+ DiagnosticSerializationKinds.inc \
-+ StmtNodes.inc
-+
-+clang_serialization_SRC_FILES :=\
-+ ASTCommon.cpp \
-+ ASTReader.cpp \
-+ ASTReaderDecl.cpp \
-+ ASTReaderStmt.cpp \
-+ ASTWriter.cpp \
-+ ASTWriterDecl.cpp \
-+ ASTWriterStmt.cpp \
-+ GeneratePCH.cpp \
-+ GlobalModuleIndex.cpp \
-+ Module.cpp \
-+ ModuleManager.cpp
-+
-+LOCAL_SRC_FILES := $(clang_serialization_SRC_FILES)
-+
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(CLANG_VERSION_INC_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/StaticAnalyzer/Checkers/Android.mk b/lib/StaticAnalyzer/Checkers/Android.mk
-new file mode 100644
-index 0000000..bb2a539
---- /dev/null
-+++ b/lib/StaticAnalyzer/Checkers/Android.mk
-@@ -0,0 +1,100 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+clang_static_analyzer_checkers_TBLGEN_TABLES := \
-+ AttrKinds.inc \
-+ AttrList.inc \
-+ AttrParsedAttrList.inc \
-+ Attrs.inc \
-+ AttrVisitor.inc \
-+ Checkers.inc \
-+ CommentCommandList.inc \
-+ CommentNodes.inc \
-+ DeclNodes.inc \
-+ DiagnosticCommonKinds.inc \
-+ StmtNodes.inc
-+
-+clang_static_analyzer_checkers_SRC_FILES := \
-+ AllocationDiagnostics.cpp \
-+ AnalyzerStatsChecker.cpp \
-+ ArrayBoundChecker.cpp \
-+ ArrayBoundCheckerV2.cpp \
-+ BasicObjCFoundationChecks.cpp \
-+ BoolAssignmentChecker.cpp \
-+ BuiltinFunctionChecker.cpp \
-+ CStringChecker.cpp \
-+ CStringSyntaxChecker.cpp \
-+ CallAndMessageChecker.cpp \
-+ CastSizeChecker.cpp \
-+ CastToStructChecker.cpp \
-+ CheckObjCDealloc.cpp \
-+ CheckObjCInstMethSignature.cpp \
-+ CheckSecuritySyntaxOnly.cpp \
-+ CheckSizeofPointer.cpp \
-+ CheckerDocumentation.cpp \
-+ ChrootChecker.cpp \
-+ ClangCheckers.cpp \
-+ DeadStoresChecker.cpp \
-+ DebugCheckers.cpp \
-+ DereferenceChecker.cpp \
-+ DirectIvarAssignment.cpp \
-+ DivZeroChecker.cpp \
-+ DynamicTypePropagation.cpp \
-+ ExprInspectionChecker.cpp \
-+ FixedAddressChecker.cpp \
-+ GenericTaintChecker.cpp \
-+ IdenticalExprChecker.cpp \
-+ IvarInvalidationChecker.cpp \
-+ LLVMConventionsChecker.cpp \
-+ MacOSKeychainAPIChecker.cpp \
-+ MacOSXAPIChecker.cpp \
-+ MallocChecker.cpp \
-+ MallocOverflowSecurityChecker.cpp \
-+ MallocSizeofChecker.cpp \
-+ NSAutoreleasePoolChecker.cpp \
-+ NSErrorChecker.cpp \
-+ NoReturnFunctionChecker.cpp \
-+ NonNullParamChecker.cpp \
-+ ObjCAtSyncChecker.cpp \
-+ ObjCContainersASTChecker.cpp \
-+ ObjCContainersChecker.cpp \
-+ ObjCMissingSuperCallChecker.cpp \
-+ ObjCSelfInitChecker.cpp \
-+ ObjCUnusedIVarsChecker.cpp \
-+ PointerArithChecker.cpp \
-+ PointerSubChecker.cpp \
-+ PthreadLockChecker.cpp \
-+ RetainCountChecker.cpp \
-+ ReturnPointerRangeChecker.cpp \
-+ ReturnUndefChecker.cpp \
-+ SimpleStreamChecker.cpp \
-+ StackAddrEscapeChecker.cpp \
-+ StreamChecker.cpp \
-+ TaintTesterChecker.cpp \
-+ TraversalChecker.cpp \
-+ UndefBranchChecker.cpp \
-+ UndefCapturedBlockVarChecker.cpp \
-+ UndefResultChecker.cpp \
-+ UndefinedArraySubscriptChecker.cpp \
-+ UndefinedAssignmentChecker.cpp \
-+ UnixAPIChecker.cpp \
-+ UnreachableCodeChecker.cpp \
-+ VirtualCallChecker.cpp \
-+ VLASizeChecker.cpp
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(clang_static_analyzer_checkers_TBLGEN_TABLES)
-+
-+LOCAL_SRC_FILES := $(clang_static_analyzer_checkers_SRC_FILES)
-+
-+LOCAL_MODULE:= libclangStaticAnalyzerCheckers
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(CLANG_VERSION_INC_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/StaticAnalyzer/Core/Android.mk b/lib/StaticAnalyzer/Core/Android.mk
-new file mode 100644
-index 0000000..68d2c36
---- /dev/null
-+++ b/lib/StaticAnalyzer/Core/Android.mk
-@@ -0,0 +1,68 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+clang_static_analyzer_core_TBLGEN_TABLES := \
-+ AttrList.inc \
-+ Attrs.inc \
-+ CommentCommandList.inc \
-+ CommentNodes.inc \
-+ DeclNodes.inc \
-+ DiagnosticCommonKinds.inc \
-+ StmtNodes.inc
-+
-+clang_static_analyzer_core_SRC_FILES := \
-+ AnalysisManager.cpp \
-+ AnalyzerOptions.cpp \
-+ APSIntType.cpp \
-+ BasicValueFactory.cpp \
-+ BlockCounter.cpp \
-+ BugReporter.cpp \
-+ BugReporterVisitors.cpp \
-+ CallEvent.cpp \
-+ Checker.cpp \
-+ CheckerContext.cpp \
-+ CheckerHelpers.cpp \
-+ CheckerManager.cpp \
-+ CheckerRegistry.cpp \
-+ CommonBugCategories.cpp \
-+ ConstraintManager.cpp \
-+ CoreEngine.cpp \
-+ Environment.cpp \
-+ ExplodedGraph.cpp \
-+ ExprEngine.cpp \
-+ ExprEngineC.cpp \
-+ ExprEngineCXX.cpp \
-+ ExprEngineCallAndReturn.cpp \
-+ ExprEngineObjC.cpp \
-+ FunctionSummary.cpp \
-+ HTMLDiagnostics.cpp \
-+ MemRegion.cpp \
-+ PathDiagnostic.cpp \
-+ PlistDiagnostics.cpp \
-+ ProgramState.cpp \
-+ RangeConstraintManager.cpp \
-+ RegionStore.cpp \
-+ SValBuilder.cpp \
-+ SVals.cpp \
-+ SimpleConstraintManager.cpp \
-+ SimpleSValBuilder.cpp \
-+ Store.cpp \
-+ SubEngine.cpp \
-+ SymbolManager.cpp
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(clang_static_analyzer_core_TBLGEN_TABLES)
-+
-+LOCAL_SRC_FILES := $(clang_static_analyzer_core_SRC_FILES)
-+
-+LOCAL_MODULE:= libclangStaticAnalyzerCore
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(CLANG_VERSION_INC_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/StaticAnalyzer/Frontend/Android.mk b/lib/StaticAnalyzer/Frontend/Android.mk
-new file mode 100644
-index 0000000..ccffdad
---- /dev/null
-+++ b/lib/StaticAnalyzer/Frontend/Android.mk
-@@ -0,0 +1,40 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+clang_static_analyzer_frontend_C_INCLUDES := \
-+ $(CLANG_ROOT_PATH)/lib/StaticAnalyzer/Checkers
-+
-+clang_static_analyzer_frontend_TBLGEN_TABLES := \
-+ AttrList.inc \
-+ Attrs.inc \
-+ AttrVisitor.inc \
-+ CommentCommandList.inc \
-+ CommentNodes.inc \
-+ DeclNodes.inc \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticFrontendKinds.inc \
-+ StmtNodes.inc
-+
-+clang_static_analyzer_frontend_SRC_FILES := \
-+ AnalysisConsumer.cpp \
-+ CheckerRegistration.cpp \
-+ FrontendActions.cpp
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(clang_static_analyzer_frontend_TBLGEN_TABLES)
-+
-+LOCAL_SRC_FILES := $(clang_static_analyzer_frontend_SRC_FILES)
-+
-+LOCAL_C_INCLUDES := $(clang_static_analyzer_frontend_C_INCLUDES)
-+
-+LOCAL_MODULE:= libclangStaticAnalyzerFrontend
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(CLANG_VERSION_INC_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/tools/driver/Android.mk b/tools/driver/Android.mk
-new file mode 100644
-index 0000000..e7af560
---- /dev/null
-+++ b/tools/driver/Android.mk
-@@ -0,0 +1,119 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE := clang
-+
-+LOCAL_MODULE_CLASS := EXECUTABLES
-+
-+TBLGEN_TABLES := \
-+ DiagnosticCommonKinds.inc \
-+ DiagnosticDriverKinds.inc \
-+ DiagnosticFrontendKinds.inc \
-+ CC1Options.inc \
-+ CC1AsOptions.inc
-+
-+clang_SRC_FILES := \
-+ cc1_main.cpp \
-+ cc1as_main.cpp \
-+ driver.cpp
-+
-+LOCAL_SRC_FILES := $(clang_SRC_FILES)
-+
-+LOCAL_STATIC_LIBRARIES := \
-+ libclangFrontendTool \
-+ libclangFrontend \
-+ libclangARCMigrate \
-+ libclangDriver \
-+ libclangSerialization \
-+ libclangCodeGen \
-+ libclangRewriteFrontend \
-+ libclangRewriteCore \
-+ libclangParse \
-+ libclangSema \
-+ libclangStaticAnalyzerFrontend \
-+ libclangStaticAnalyzerCheckers \
-+ libclangStaticAnalyzerCore \
-+ libclangAnalysis \
-+ libclangEdit \
-+ libclangAST \
-+ libclangLex \
-+ libclangBasic \
-+ libLLVMARMAsmParser \
-+ libLLVMARMCodeGen \
-+ libLLVMARMAsmPrinter \
-+ libLLVMARMDisassembler \
-+ libLLVMARMDesc \
-+ libLLVMARMInfo \
-+ libLLVMMipsAsmParser \
-+ libLLVMMipsCodeGen \
-+ libLLVMMipsDisassembler \
-+ libLLVMMipsAsmPrinter \
-+ libLLVMMipsDesc \
-+ libLLVMMipsInfo \
-+ libLLVMX86Info \
-+ libLLVMX86AsmParser \
-+ libLLVMX86CodeGen \
-+ libLLVMX86Disassembler \
-+ libLLVMX86Desc \
-+ libLLVMX86AsmPrinter \
-+ libLLVMX86Utils \
-+ libLLVMARM64Info \
-+ libLLVMARM64AsmParser \
-+ libLLVMARM64CodeGen \
-+ libLLVMARM64Disassembler \
-+ libLLVMARM64Desc \
-+ libLLVMARM64AsmPrinter \
-+ libLLVMARM64Utils \
-+ libLLVMIRReader \
-+ libLLVMAsmParser \
-+ libLLVMAsmPrinter \
-+ libLLVMBitReader \
-+ libLLVMBitWriter \
-+ libLLVMSelectionDAG \
-+ libLLVMipo \
-+ libLLVMipa \
-+ libLLVMInstCombine \
-+ libLLVMInstrumentation \
-+ libLLVMCodeGen \
-+ libLLVMObject \
-+ libLLVMLinker \
-+ libLLVMMC \
-+ libLLVMMCParser \
-+ libLLVMScalarOpts \
-+ libLLVMTransformObjCARC \
-+ libLLVMTransformUtils \
-+ libLLVMVectorize \
-+ libLLVMAnalysis \
-+ libLLVMCore \
-+ libLLVMOption \
-+ libLLVMSupport \
-+ libLLVMTarget
-+
-+LOCAL_LDLIBS += -lm
-+ifdef USE_MINGW
-+LOCAL_LDLIBS += -limagehlp
-+else
-+LOCAL_LDLIBS += -lpthread -ldl
-+endif
-+
-+include $(CLANG_HOST_BUILD_MK)
-+include $(CLANG_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_EXECUTABLE)
-+
-+ifeq (true,$(FORCE_BUILD_LLVM_COMPONENTS))
-+# Make sure if clang (i.e. $(LOCAL_MODULE)) get installed,
-+# clang++ will get installed as well.
-+ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
-+ $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(CLANG_CXX)
-+# the additional dependency is needed when you run mm/mmm.
-+$(LOCAL_MODULE) : $(CLANG_CXX)
-+
-+# Symlink for clang++
-+$(CLANG_CXX) : $(LOCAL_INSTALLED_MODULE)
-+ @echo "Symlink $@ -> $<"
-+ $(hide) ln -sf $(notdir $<) $@
-+endif
-diff --git a/utils/TableGen/Android.mk b/utils/TableGen/Android.mk
-new file mode 100644
-index 0000000..4a40dc8
---- /dev/null
-+++ b/utils/TableGen/Android.mk
-@@ -0,0 +1,35 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+clang_tablegen_SRC_FILES := \
-+ ClangASTNodesEmitter.cpp \
-+ ClangAttrEmitter.cpp \
-+ ClangCommentCommandInfoEmitter.cpp \
-+ ClangCommentHTMLNamedCharacterReferenceEmitter.cpp \
-+ ClangCommentHTMLTagsEmitter.cpp \
-+ ClangDiagnosticsEmitter.cpp \
-+ ClangSACheckersEmitter.cpp \
-+ NeonEmitter.cpp \
-+ TableGen.cpp
-+
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE := clang-tblgen
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(clang_tablegen_SRC_FILES)
-+
-+REQUIRES_EH := 1
-+REQUIRES_RTTI := 1
-+
-+LOCAL_STATIC_LIBRARIES := \
-+ libLLVMTableGen \
-+ libLLVMSupport
-+
-+LOCAL_LDLIBS += -lm
-+ifeq ($(HOST_OS),windows)
-+ LOCAL_LDLIBS += -limagehlp -lpsapi
-+else
-+ LOCAL_LDLIBS += -lpthread -ldl
-+endif
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_EXECUTABLE)
---
-1.9.1.423.g4596e3a
-