<div dir="ltr">I don't know why this thread only popped up now in my gmail; I have been following it on R-devel.<div><br></div><div style>I have just skimmed the extensive discussion, but I just want to add a few things</div>
<div style> - 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:</div><div style><br></div><div style><div>sleipner-1 $ /usr/bin/gcc --version</div>
<div>Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1</div><div>Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn)</div><div>Target: x86_64-apple-darwin12.5.0</div>
<div>Thread model: posix</div><div>sleipner-1 $ /usr/bin/gcc-4.2 --version</div><div>i686-apple-darwin11-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)</div><div>Copyright (C) 2007 Free Software Foundation, Inc.</div>
<div>This is free software; see the source for copying conditions. There is NO</div><div>warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</div></div><div style><br></div><div style> - Aside from GCC and clang, I would say the Intel compilers are worth thinking about for serious use.</div>
<div style><br></div><div style>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</div><div style> R_CPP_HAS_C11++</div>
<div style>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.</div>
<div style><br></div><div style>Anyway, I know this is mostly noise, but wanted to remind you of the OS X issue.<br></div><div style><br></div><div style>Best,</div><div style>Kasper</div><div style><br></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Fri, Sep 20, 2013 at 8:47 AM, Smith, Dale (Norcross) <span dir="ltr"><<a href="mailto:Dale.Smith@fiserv.com" target="_blank">Dale.Smith@fiserv.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I agree with Romain's approach, which I was going to send later today:<br>
<br>
" 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."<br>
<br>
Dale Smith, Ph.D.<br>
Senior Financial Quantitative Analyst<br>
Financial & Risk Management Solutions<br>
Fiserv<br>
Office: <a href="tel:678-375-5315" value="+16783755315">678-375-5315</a><br>
<a href="http://www.fiserv.com" target="_blank">www.fiserv.com</a><br>
<div class="HOEnZb"><div class="h5"><br>
<br>
-----Original Message-----<br>
From: <a href="mailto:rcpp-devel-bounces@r-forge.wu-wien.ac.at">rcpp-devel-bounces@r-forge.wu-wien.ac.at</a> [mailto:<a href="mailto:rcpp-devel-bounces@r-forge.wu-wien.ac.at">rcpp-devel-bounces@r-forge.wu-wien.ac.at</a>] On Behalf Of <a href="mailto:romain@r-enthusiasts.com">romain@r-enthusiasts.com</a><br>
Sent: Friday, September 20, 2013 8:41 AM<br>
To: Dirk Eddelbuettel<br>
Cc: <a href="mailto:rcpp-devel@r-forge.wu-wien.ac.at">rcpp-devel@r-forge.wu-wien.ac.at</a><br>
Subject: Re: [Rcpp-devel] long long<br>
<br>
Le 2013-09-20 14:24, Dirk Eddelbuettel a écrit :<br>
> Just to bring closure to this thread: Per Section 1.7 of the "Writing<br>
> R Extensions" manual, the 'C++98' standard, without any C99<br>
> extensions, is prescribed by CRAN.<br>
<br>
That is not the way I read it. It says to use the tools given by the compiler to find potential problems.<br>
Fine. Done that. Identified the portability problem, dealing with it with conditional compilation. Prooving it. Not good enough ?<br>
<br>
As people might have seen on other channels (twitter). I'm forking Rcpp into Rcpp11. This will be a version that enforces C++11.<br>
<br>
I'm not expecting to be able to distribute Rcpp11 on CRAN, but Dirk probably will keep maintaining Rcpp.<br>
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.<br>
<br>
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.<br>
<br>
Romain<br>
<br>
PS: I'm still interested in some constructive discussion about the original question.<br>
<br>
> That explicitly excludes long long. So we are back to where we were<br>
> years<br>
> ago: you only get 'long long' in Rcpp if you enable the '-std=c++11'<br>
> (or<br>
> -std=c++0x') extensions not allowed at CRAN.<br>
><br>
> Sadly, two of the R manuals also (falsely) claim that no C++11<br>
> compliant compilers exist. That changed in the summer of 2013, and I<br>
> plan to file a bug report against the manuals once R 3.0.2 is out next<br>
> week.<br>
><br>
> Dirk<br>
<br>
_______________________________________________<br>
Rcpp-devel mailing list<br>
<a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br>
<a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
_______________________________________________<br>
Rcpp-devel mailing list<br>
<a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br>
<a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a></div></div></blockquote></div><br></div>