[Rcpp-commits] r1248 - pkg/Rcpp/inst/include/Rcpp/traits

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Sun May 16 19:57:22 CEST 2010


Author: edd
Date: 2010-05-16 19:57:21 +0200 (Sun, 16 May 2010)
New Revision: 1248

Modified:
   pkg/Rcpp/inst/include/Rcpp/traits/r_sexptype_traits.h
   pkg/Rcpp/inst/include/Rcpp/traits/r_type_traits.h
   pkg/Rcpp/inst/include/Rcpp/traits/wrap_type_traits.h
Log:
committing current work in progress which just failed win64


Modified: pkg/Rcpp/inst/include/Rcpp/traits/r_sexptype_traits.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/traits/r_sexptype_traits.h	2010-05-16 16:18:25 UTC (rev 1247)
+++ pkg/Rcpp/inst/include/Rcpp/traits/r_sexptype_traits.h	2010-05-16 17:57:21 UTC (rev 1248)
@@ -56,8 +56,17 @@
 template<> struct r_sexptype_traits<short>{ enum{ rtype = INTSXP } ; } ;
 template<> struct r_sexptype_traits<unsigned short>{ enum{ rtype = INTSXP } ; } ;
 
+#ifdef __GNUC__
+    __extension__ typedef long long long_long_type;
+    __extension__ typedef unsigned long long ulong_long_type;
+#else
+    typedef long long long_long_type;
+    typedef unsigned long long ulong_long_type;
+#endif
+
 /* long long int */
 #ifdef __GNUC__
+#ifdef HAS_CXX0X
 #ifdef LONG_LONG_MAX
 template<> struct r_sexptype_traits<long long int>{ enum{ rtype = REALSXP } ; } ;
 #endif
@@ -67,6 +76,7 @@
 template<> struct r_sexptype_traits<unsigned long long int>{ enum{ rtype = REALSXP } ; } ;
 #endif
 #endif
+#endif
 
 /**
  * Indicates if a primitive type needs a static_cast

Modified: pkg/Rcpp/inst/include/Rcpp/traits/r_type_traits.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/traits/r_type_traits.h	2010-05-16 16:18:25 UTC (rev 1247)
+++ pkg/Rcpp/inst/include/Rcpp/traits/r_type_traits.h	2010-05-16 17:57:21 UTC (rev 1248)
@@ -112,6 +112,15 @@
 template<> struct r_type_traits< std::pair<const std::string,unsigned short> >{ typedef r_type_primitive_tag r_category ; } ;
 
 #ifdef __GNUC__
+    __extension__ typedef long long long_long_type;
+    __extension__ typedef unsigned long long ulong_long_type;
+#else
+    typedef long long long_long_type;
+    typedef unsigned long long ulong_long_type;
+#endif
+
+#ifdef __GNUC__
+#ifdef HAS_CXX0X
 /* long long int */
 #ifdef LONG_LONG_MAX
 template<> struct r_type_traits<long long int>{ typedef r_type_primitive_tag r_category ; } ;
@@ -124,6 +133,7 @@
 template<> struct r_type_traits< std::pair<const std::string,unsigned long long int> >{ typedef r_type_primitive_tag r_category ; } ;
 #endif
 #endif
+#endif
 
 } // traits
 } // Rcpp

Modified: pkg/Rcpp/inst/include/Rcpp/traits/wrap_type_traits.h
===================================================================
--- pkg/Rcpp/inst/include/Rcpp/traits/wrap_type_traits.h	2010-05-16 16:18:25 UTC (rev 1247)
+++ pkg/Rcpp/inst/include/Rcpp/traits/wrap_type_traits.h	2010-05-16 17:57:21 UTC (rev 1248)
@@ -72,6 +72,15 @@
 template <> struct wrap_type_traits<unsigned short> { typedef wrap_type_primitive_tag wrap_category; } ;
 
 #ifdef __GNUC__
+    __extension__ typedef long long long_long_type;
+    __extension__ typedef unsigned long long ulong_long_type;
+#else
+    typedef long long long_long_type;
+    typedef unsigned long long ulong_long_type;
+#endif
+
+#ifdef __GNUC__
+#ifdef HAS_CXX0X
 #ifdef LONG_LONG_MAX
 template <> struct wrap_type_traits<long long int> { typedef wrap_type_primitive_tag wrap_category; } ;
 #endif
@@ -80,6 +89,7 @@
 template <> struct wrap_type_traits<unsigned long long int> { typedef wrap_type_primitive_tag wrap_category; } ;
 #endif 
 #endif
+#endif
 
 } // namespace traits
 } // namespace Rcpp



More information about the Rcpp-commits mailing list