From 7328b0edb350183b2d2ebe46f09f48e749667d0c Mon Sep 17 00:00:00 2001
From: Mick Jordan <mick.jordan@oracle.com>
Date: Tue, 15 Mar 2016 15:19:57 -0700
Subject: [PATCH] add more Rinternals functions

---
 .../fficall/src/jni/Rinternals.c              | 40 +++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/com.oracle.truffle.r.native/fficall/src/jni/Rinternals.c b/com.oracle.truffle.r.native/fficall/src/jni/Rinternals.c
index 4d27f95442..6b3269b087 100644
--- a/com.oracle.truffle.r.native/fficall/src/jni/Rinternals.c
+++ b/com.oracle.truffle.r.native/fficall/src/jni/Rinternals.c
@@ -708,6 +708,11 @@ SEXP CDDR(SEXP e) {
     return NULL;
 }
 
+SEXP CDDDR(SEXP e) {
+    unimplemented("CDDDR");
+    return NULL;
+}
+
 SEXP CADDR(SEXP e) {
     unimplemented("CADDR");
     return NULL;
@@ -1239,6 +1244,10 @@ SEXP R_ClosureExpr(SEXP x) {
 	return unimplemented("R_ClosureExpr");
 }
 
+SEXP R_forceAndCall(SEXP e, int n, SEXP rho) {
+	return unimplemented("R_forceAndCall");
+}
+
 SEXP R_MakeExternalPtr(void *p, SEXP tag, SEXP prot) {
 	JNIEnv *thisenv = getEnv();
 	SEXP result =  (*thisenv)->CallStaticObjectMethod(thisenv, RDataFactoryClass, createExternalPtrMethodID, (jlong) p, tag, prot);
@@ -1301,4 +1310,35 @@ void R_RunPendingFinalizers(void) {
 	// TODO implement, but not fail for now
 }
 
+SEXP R_do_slot(SEXP obj, SEXP name) {
+	return unimplemented("R_do_slot");
+}
+
+SEXP R_do_slot_assign(SEXP obj, SEXP name, SEXP value) {
+	return unimplemented("R_do_slot_assign");
+}
+
+int R_has_slot(SEXP obj, SEXP name) {
+	return (int) unimplemented("R_has_slot");
+}
+
+SEXP R_do_MAKE_CLASS(const char *what) {
+	return unimplemented("R_do_MAKE_CLASS");
+}
+
+SEXP R_getClassDef (const char *what) {
+	return unimplemented("R_getClassDef");
+}
+
+SEXP R_do_new_object(SEXP class_def) {
+	return unimplemented("R_do_new_object");
+}
+
+int R_check_class_and_super(SEXP x, const char **valid, SEXP rho) {
+	return (int) unimplemented("R_check_class_and_super");
+}
+
+int R_check_class_etc (SEXP x, const char **valid) {
+	return (int) unimplemented("R_check_class_etc");
+}
 
-- 
GitLab