kaneplusplus / bigmemory

126 stars 24 forks source link

define STRICT_R_HEADERS and add one include for FLT_{MIN,MAX} #104

Closed eddelbuettel closed 3 years ago

eddelbuettel commented 3 years ago

Hi Mike,

Your CRAN package bigmemory uses Rcpp, and is affected if we add a definition of STRICT_R_HEADERS as we would like to do. Please see the discussion at https://github.com/RcppCore/Rcpp/issues/1158 and the links therein for more context on this.

Here, I prefixed each #include with STRICT_R_HEADERS which is slightly more extensive then we need to, but it ensures we will not get surprised later. If you prefer, we can remove this in the PR. The one change that is needed is the #include (the compiler even suggsted the C++ header #include ). We now can use FLT_MIN and FLT_MAX.

It would be lovely if you could apply this. There is no strong urgency: we aim to get this done over all affected packages in the space of a few months. If you apply it, would you mind dropping me a note by email or swinging by https://github.com/RcppCore/Rcpp/issues/1158 to confirm?

Many thanks for your help, and I hope you continue to find Rcpp helpful. Please don't hesitate to ask if you have any questions.

kaneplusplus commented 3 years ago

@eddelbuettel Thanks Dirk. I'm sorry for the slow response. The solution looks good. Once I can build for Windows I'll send start the release process.

eddelbuettel commented 3 years ago

Hi Mike -- your case will also be automagically covered by the next Rcpp release next month as we now #include <cfloat> -- which we probably should have all along :-/