On 18 March 2017 at 14:21, Jeroen Ooms wrote: | R 3.4 has 'experimental' support for setting CXX_STD to CXX98 / CXX11 | / CXX14 / CXX17.
R 3.1.0 introduced CXX11 support. R 3.4.0 will have CXX14 support. So I would only refer to the CXX17 part as experimental. | However on most platforms, the R configuration seems to leave the | CXX1Y and CXX1Z fields blank in "${R_HOME}/etc/Makeconf" (rather than | falling back on default CXX). Therefore specifying e.g CXX_STD= CXX14 | will fail build with cryptic errors (due to compiling with CXX="") That depends of course on the compiler found on the system. On my box (with g++ being g++-6.2 which _defaults_ to C++14) all is well up to CXX1Y. But I also have CXX1Z empty. | I don't think this is intended? Some examples from r-devel on Windows: | | CXX11: https://win-builder.r-project.org/R8gg703OQSq5/ | CXX98: https://win-builder.r-project.org/mpVfXxk79FaN/ | CXX14: https://win-builder.r-project.org/L3BSMgAk4cQ7/ | CXX17: https://win-builder.r-project.org/3ETZXrgkg77I/ You can't expect CXX14 and CXX17 to work with the only available compiler there, g++-4.9.3. | Similar problems appear on Linux. I think the problem is that Makeconf | contains e.g: | | CXX1Z = | CXX1ZFLAGS = | CXX1ZPICFLAGS = | CXX1ZSTD = | | When CXX_STD contains any other unsupported value (e.g. CXX24) R | simply falls back on the default CXX configuration. The same should | probably happen for e.g. CXX17 when CXX1Z is unset in Makeconf? Probably. Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel