am 29a78453: Merge "Fix missing td dependencies."
* commit '29a7845347036d7b0e00e6e03678e12141c24849':
Fix missing td dependencies.
diff --git a/include/clang/Basic/Attr.td b/include/clang/Basic/Attr.td
index e8e0f35..61e64b2 100644
--- a/include/clang/Basic/Attr.td
+++ b/include/clang/Basic/Attr.td
@@ -256,6 +256,10 @@
let Spellings = ["opencl_kernel_function"];
}
+def Kernel : Attr {
+ let Spellings = ["kernel"];
+}
+
def Deprecated : InheritableAttr {
let Spellings = ["deprecated"];
let Args = [StringArgument<"Message">];
diff --git a/include/clang/Basic/LangOptions.def b/include/clang/Basic/LangOptions.def
index d2ce7c0..d3ef12f 100644
--- a/include/clang/Basic/LangOptions.def
+++ b/include/clang/Basic/LangOptions.def
@@ -113,6 +113,7 @@
LANGOPT(OpenCL , 1, 0, "OpenCL")
LANGOPT(CUDA , 1, 0, "CUDA")
+LANGOPT(Renderscript , 1, 0, "Renderscript")
LANGOPT(AssumeSaneOperatorNew , 1, 1, "implicit __attribute__((malloc)) for C++'s new operators")
BENIGN_LANGOPT(ElideConstructors , 1, 1, "C++ copy constructor elision")
diff --git a/lib/Sema/SemaDeclAttr.cpp b/lib/Sema/SemaDeclAttr.cpp
index 5c6ddd2..3d2ef87 100644
--- a/lib/Sema/SemaDeclAttr.cpp
+++ b/lib/Sema/SemaDeclAttr.cpp
@@ -2861,6 +2861,14 @@
S.Context));
}
+static void handleKernelAttr(Sema &S, Decl *D, const AttributeList &Attr) {
+ if (S.LangOpts.Renderscript) {
+ D->addAttr(::new (S.Context) KernelAttr(Attr.getRange(), S.Context));
+ } else {
+ S.Diag(Attr.getLoc(), diag::warn_attribute_ignored) << "kernel";
+ }
+}
+
static void handleConstantAttr(Sema &S, Decl *D, const AttributeList &Attr) {
if (S.LangOpts.CUDA) {
// check the attribute arguments.
@@ -3562,6 +3570,7 @@
case AttributeList::AT_device: handleDeviceAttr (S, D, Attr); break;
case AttributeList::AT_host: handleHostAttr (S, D, Attr); break;
case AttributeList::AT_overloadable:handleOverloadableAttr(S, D, Attr); break;
+ case AttributeList::AT_kernel: handleKernelAttr (S, D, Attr); break;
default:
break;
}
@@ -3586,6 +3595,7 @@
case AttributeList::AT_device:
case AttributeList::AT_host:
case AttributeList::AT_overloadable:
+ case AttributeList::AT_kernel:
// Ignore, this is a non-inheritable attribute, handled
// by ProcessNonInheritableDeclAttr.
break;
diff --git a/tools/driver/Android.mk b/tools/driver/Android.mk
index 4750349..9678d81 100644
--- a/tools/driver/Android.mk
+++ b/tools/driver/Android.mk
@@ -48,7 +48,9 @@
libLLVMARMDisassembler \
libLLVMARMDesc \
libLLVMARMInfo \
+ libLLVMMipsAsmParser \
libLLVMMipsCodeGen \
+ libLLVMMipsDisassembler \
libLLVMMipsAsmPrinter \
libLLVMMipsDesc \
libLLVMMipsInfo \