[Rcpp-devel] Rcpp compiler support and tests for suitable compilers

Romain Francois romain at r-enthusiasts.com
Fri Dec 3 07:51:57 CET 2010


Le 03/12/10 01:52, Dominick Samperi a écrit :
> On Tue, Nov 30, 2010 at 3:20 PM, Dirk Eddelbuettel <edd at debian.org
> <mailto:edd at debian.org>> wrote:
>
>
>     The Rcpp (and RInside) documentation attempts to make it clear that
>     the set
>     of supported compilers is definied by R Core via the support in R
>     and its
>     tools.
>
>     Rcpp is first and foremost an extension package for R, it does not
>     live by
>     itself out there in the wild.  So useful compilers are the ones used
>     by R
>     Core and the CRAN support teams.
>
>     In other words, Rcpp is supported for
>
>        gcc/g++ on Linux, OS X and Windows (via MinGW in Rtools for the
>     latter)
>
>        suncc on Linux, Solaris and whereever else you find it
>
>     and just about nothing else.
>
>     Two gcc-compatible compilers may also work: Intel's icc (has anybody
>     here
>     tried it?) as well as the newer up-and-coming clang/llvm for which
>     we already
>     applied a patch.
>
>     Astute reader will by now have realized that this list does included
>     products
>     from Microsoft, Borland, ...   Indeed, those compilers *are not
>     supported*.
>
>     This does not seem to stop people from trying, and possibly getting very
>     frustrated.  Some folks then send us mail asking for help -- but as
>     per the
>     discussion above there is no reasonable expectation of such support.
>
>     Long story short: Going forward we will test for suitable compilers
>     in the
>     header files and emit an error pragma if no matching compiler is
>     detected.
>     If you plan on working with icc, please email us --- gcc, suncc and
>     clang
>     should be taken care of.
>
>
> What does "issue an error pragma" mean? Does this mean it will be
> impossible to compile if a compiler other than the supported ones
> is used?

Precisely. Here are the relevant lines (on top of RcppCommon.h)

#ifndef GOOD_COMPILER_FOR_RCPP
# error "This compiler is not supported"
#endif

We hope that this will make it clear, so that people stop reporting 
random issues about the compiler they choose to use against all 
documentation we publish that says it won't work.

The message will probably be made more informative by the time we 
release the next Rcpp.

Romain

-- 
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30
http://romainfrancois.blog.free.fr
|- http://bit.ly/hovakS : RcppGSL initial release
|- http://bit.ly/iaxTdO : parser 0.0-12
`- http://bit.ly/gnCl01 : Rcpp 0.8.9




More information about the Rcpp-devel mailing list