[Rcpp-commits] r2928 - in pkg/Rcpp: . inst inst/include

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Thu Mar 17 16:01:09 CET 2011


Author: edd
Date: 2011-03-17 16:01:08 +0100 (Thu, 17 Mar 2011)
New Revision: 2928

Modified:
   pkg/Rcpp/ChangeLog
   pkg/Rcpp/inst/NEWS
   pkg/Rcpp/inst/include/RcppCommon.h
Log:
protect the long long typedef by a test for C++0x as it is not part of C++98 (and doing this makes g++-4.5 happier)


Modified: pkg/Rcpp/ChangeLog
===================================================================
--- pkg/Rcpp/ChangeLog	2011-03-13 17:21:19 UTC (rev 2927)
+++ pkg/Rcpp/ChangeLog	2011-03-17 15:01:08 UTC (rev 2928)
@@ -1,3 +1,11 @@
+2011-03-17  Dirk Eddelbuettel  <edd at debian.org>
+
+	* inst/include/RcppCommon.h: Condition the typedef for 'long long'
+	of rcpp_long_long_type on the (still experimental) support for C++0x
+	which can be enabled with the non-portable g++ flag '-std=c++0x';
+	adding the test C++0x support suppresses a new warning with g++ about
+	long long being part of C++98; thanks to Kurt Hornik for raising this
+
 2011-03-10  Dirk Eddelbuettel  <edd at debian.org>
 
 	* inst/include/Rcpp/grow.h: Applied another patch kindly supplied by

Modified: pkg/Rcpp/inst/NEWS
===================================================================
--- pkg/Rcpp/inst/NEWS	2011-03-13 17:21:19 UTC (rev 2927)
+++ pkg/Rcpp/inst/NEWS	2011-03-17 15:01:08 UTC (rev 2928)
@@ -6,6 +6,9 @@
         addressed by re-ordering declarations as unqualified names must be
         declared before they are used, even when used within templates
 
+    o   inst/include/RcppCommon.h: The 'long long' typedef now depends on
+        C++0x being enabled as this was not a feature in C++98
+
 0.9.2   2011-02-23
 
     o   The unitTest runit.Module.client.package.R is now skipped on older OS

Modified: pkg/Rcpp/inst/include/RcppCommon.h
===================================================================
--- pkg/Rcpp/inst/include/RcppCommon.h	2011-03-13 17:21:19 UTC (rev 2927)
+++ pkg/Rcpp/inst/include/RcppCommon.h	2011-03-17 15:01:08 UTC (rev 2928)
@@ -249,12 +249,14 @@
 #endif
 
 #ifdef __GNUC__
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
 #ifdef LONG_LONG_MAX
     __extension__ typedef long long int rcpp_long_long_type;
     __extension__ typedef unsigned long long int rcpp_ulong_long_type;
     #define RCPP_HAS_LONG_LONG_TYPES
 #endif
 #endif
+#endif
 
 // DO NOT CHANGE THE ORDER OF THESE INCLUDES
 #include <Rcpp/traits/integral_constant.h>



More information about the Rcpp-commits mailing list