Permalink
Browse files

add support for function argument types

git-svn-id: https://svn.r-project.org/R/branches/R-exp-R5@52865 00db46b3-68df-0310-9c12-caf00c1e9a41
  • Loading branch information...
1 parent 7b9dde8 commit 65d41d083e8f4203fabdc8d6bd6c50b73e68364b urbaneks committed Sep 2, 2010
Showing with 668 additions and 651 deletions.
  1. +5 −0 src/include/Rinternals.h
  2. +5 −35 src/include/config.h.in
  3. +564 −615 src/main/gram.c
  4. +93 −1 src/main/gram.y
  5. +1 −0 src/main/names.c
@@ -342,6 +342,10 @@ Rboolean (Rf_isObject)(SEXP s);
#endif /* USE_RINTERNALS */
+/* experimental argument type macros */
+#define SET_ARGTYPE(x, type) Rf_setAttrib(x, R_TypeSymbol, type)
+#define GET_ARGTYPE(x) Rf_getAttrib(x, R_TypeSymbol)
+
/* Accessor functions. Many are declared using () to avoid the macro
definitions in the USE_RINTERNALS section.
The function STRING_ELT is used as an argument to arrayAssign even
@@ -534,6 +538,7 @@ LibExtern SEXP R_RowNamesSymbol; /* "row.names" */
LibExtern SEXP R_SeedsSymbol; /* ".Random.seed" */
LibExtern SEXP R_SourceSymbol; /* "source" */
LibExtern SEXP R_TspSymbol; /* "tsp" */
+LibExtern SEXP R_TypeSymbol; /* "type" */
/* Missing Values - others from Arith.h */
#define NA_STRING R_NaString
@@ -836,9 +836,6 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
/* Define to the version of this package. */
#undef PACKAGE_VERSION
@@ -958,28 +955,6 @@
made weak. */
#undef USE_SOLARIS_THREADS_WEAK
-/* Enable extensions on AIX 3, Interix. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them. */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris. */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop. */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris. */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-
-
/* Define if the Win32 multithreading API can be used. */
#undef USE_WIN32_THREADS
@@ -1005,22 +980,17 @@
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
#undef _LARGEFILE_SOURCE
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
-/* Define to 1 if on MINIX. */
-#undef _MINIX
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
- this defined. */
-#undef _POSIX_1_SOURCE
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#undef _POSIX_SOURCE
-
/* Define to 'long' if <sys/types.h> does not define. Apparently necessary to
fix a GCC bug on AIX? */
#undef blkcnt_t
Oops, something went wrong.

0 comments on commit 65d41d0

Please sign in to comment.