[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