I don't know why this thread only popped up now in my gmail; I have been following it on R-devel.
I have just skimmed the extensive discussion, but I just want to add a few things - presently, the default compiler on OS X Mountain Lion is not clang, which is what Romain was testing with, but a stock GCC. Difference is this: sleipner-1 $ /usr/bin/gcc --version Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn) Target: x86_64-apple-darwin12.5.0 Thread model: posix sleipner-1 $ /usr/bin/gcc-4.2 --version i686-apple-darwin11-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - Aside from GCC and clang, I would say the Intel compilers are worth thinking about for serious use. I don't know how hard this is to do, but I guess the "right" way to deal with this is to use autoconf to detect all of this and then use something like R_CPP_HAS_C11++ with some stub for throwing an error if a feature is used on a platform not supporting R_CPP. That should work for simple examples, but it may be hard to do the autoconf test. And of course, Rcpp is anything but "a simple example" so I don't even know if this is possible in theory. Anyway, I know this is mostly noise, but wanted to remind you of the OS X issue. Best, Kasper On Fri, Sep 20, 2013 at 8:47 AM, Smith, Dale (Norcross) < [email protected]> wrote: > I agree with Romain's approach, which I was going to send later today: > > " After reading this thread and others, I would tentatively suggest > maintaining a C++11 compliant version on r-forge for those who need it. I > do recognize this is additional work, but may be worth the effort. A case > can be made here that CRAN, which is not allowed to change compilers, may > develop a conflict with Rcpp and its growing user community." > > Dale Smith, Ph.D. > Senior Financial Quantitative Analyst > Financial & Risk Management Solutions > Fiserv > Office: 678-375-5315 > www.fiserv.com > > > -----Original Message----- > From: [email protected] [mailto: > [email protected]] On Behalf Of > [email protected] > Sent: Friday, September 20, 2013 8:41 AM > To: Dirk Eddelbuettel > Cc: [email protected] > Subject: Re: [Rcpp-devel] long long > > Le 2013-09-20 14:24, Dirk Eddelbuettel a écrit : > > Just to bring closure to this thread: Per Section 1.7 of the "Writing > > R Extensions" manual, the 'C++98' standard, without any C99 > > extensions, is prescribed by CRAN. > > That is not the way I read it. It says to use the tools given by the > compiler to find potential problems. > Fine. Done that. Identified the portability problem, dealing with it with > conditional compilation. Prooving it. Not good enough ? > > As people might have seen on other channels (twitter). I'm forking Rcpp > into Rcpp11. This will be a version that enforces C++11. > > I'm not expecting to be able to distribute Rcpp11 on CRAN, but Dirk > probably will keep maintaining Rcpp. > I'll have to figure out where and how to distribute Rcpp11. It should not > be too hard to come up with a repository that complies with > install.packages. > > CRAN is an amazing resource and a huge part of the success of R. Rcpp11 > will need a different repo, so be it. Maybe in the long run, I'll be able > to show that it was worth experimenting on C++11, maybe not. I'm just > moving away from this problem. > > Romain > > PS: I'm still interested in some constructive discussion about the > original question. > > > That explicitly excludes long long. So we are back to where we were > > years > > ago: you only get 'long long' in Rcpp if you enable the '-std=c++11' > > (or > > -std=c++0x') extensions not allowed at CRAN. > > > > Sadly, two of the R manuals also (falsely) claim that no C++11 > > compliant compilers exist. That changed in the summer of 2013, and I > > plan to file a bug report against the manuals once R 3.0.2 is out next > > week. > > > > Dirk > > _______________________________________________ > Rcpp-devel mailing list > [email protected] > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel > _______________________________________________ > Rcpp-devel mailing list > [email protected] > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel >
_______________________________________________ Rcpp-devel mailing list [email protected] https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
