[Rcpp-devel] Patch to Rcpp/platform/compiler.h

Yan Zhou zhouyan at me.com
Fri Mar 8 16:36:55 CET 2013


Hi Dirk,

Previously I patched the compiler check for intel icpc and clang. Today I found a minor problem with my old patch (while doing something unrelated to Rcpp, but I think it is a good idea to fix it anyway)

To summary the issue,

We now check if the compiler is Intel or GCC, if it is, which check if we are use libstdc++ (intel may use others), and if it is, we check that the libstdc++ is at least the one distributed with GCC 4.4, and then we choose c++11 <unordered_map> or tr1 <unordered_map> accordingly.

Previously I used __GLIBCXX__ to check that libstdc++ is at least 4.4. However, I made the wrong assumption that this macro is incremental in the sense that the bigger the better. However, for a newer release of GCC 4.3 series, it may have a larger __GLIBCXX__ than an older GCC 4.4 series release, and thus the macro is actually useless.

In reality, this is not a really a big problem, since it affect only one particular GCC release (GCC 4.3.6) and GNU is not going to release any newer version of GCC 4.3 or earlier series. However I provided a two line patch attached in the email. The compiler being affected is that particular GCC 4.3.6.

Best,

Yan Zhou
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20130308/ebd07a5e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: compiler.h.diff
Type: text/x-patch
Size: 913 bytes
Desc: not available
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20130308/ebd07a5e/attachment.bin>


More information about the Rcpp-devel mailing list