[Rcpp-devel] Windows gcc toolchain for R 3.2.0
Duncan Murdoch
murdoch.duncan at gmail.com
Wed Mar 18 14:27:26 CET 2015
To anyone following the Windows toolchain saga:
The gcc 4.9.2 toolchain that is currently in Rtools33 has too many
incompatibilities with existing code, so we won't be using it in the R
3.2.0 build. I will soon be uploading to CRAN a new version of Rtools33
that is very similar to Rtools32, containing gcc 4.6.3.
We are continuing to work on the new toolchain, and hope to have it
ready before R 3.2.1 is released.
The known problems are as follows:
- C++ code should not call Rf_error(), as it uses longjmp, and the
behaviour of longjmp is undefined in C++ when destructors need to be
called. However, a number of packages do call Rf_error, and in gcc
4.6.3, they get away with it. In our candidate 4.9.2 build, they
crashed. If we can't work around this, I'll suggest that we test for
the presence of Rf_error in C++ code, and start issuing warnings or
errors when it is seen. But before we do that, we need a solid replacement.
- There are some other crashes that appear to be unrelated, also with
C++ code.
- There are some subtle differences in arithmetic that result in tests
failing. These may be due to bugs in MinGW-w64 code,
or may be unavoidable.
Duncan Murdoch
More information about the Rcpp-devel
mailing list