Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch Calloc,Free to R_Calloc,R_Free for STRICT_R_HEADERS #40

Merged
merged 1 commit into from
Jan 6, 2022

Conversation

eddelbuettel
Copy link
Contributor

Dear Chuyi, dear biglasso team,

Your CRAN package biglasso 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 RcppCore/Rcpp#1158 and the links therein for more context on this.

Here, we can prefix each #include <Rcpp.h> with STRICT_R_HEADERS, or we can also define it in src/Makevars* for a more minimal changeset via -DSTRICT_R_HEADERS, or as I currently do add in the Rcpp headers. Defining it means Calloc() and Free() are no longer "visible" as the more defensively named R_Calloc() and R_Free() are preferred. The simple PR just renames them in four files.

We plan to enable STRICT_R_HEADERS by the Jan 2022 release of Rcpp, and will likely offer you a define to suppress it. So if you really do not want the change you can prevent it -- see these lines in Rcpp for details:
https://github.com/RcppCore/Rcpp/blob/e79c70e76bc2a776d2d57287f7192dbdbcb292aa/inst/include/Rcpp/r/headers.h#L28-L38

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 RcppCore/Rcpp#1158 to confirm?

Please don't hesitate to ask (here, at RcppCore/Rcpp#1158, or via email) if you have any questions.

Many thanks for your help, and I hope you continue to find Rcpp helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants