[Rcpp-devel] deprecated log_max warning

Yue Li gorillayue at gmail.com
Thu Apr 21 22:31:55 CEST 2016


Thank you Dirk and Yixuan! Indeed, '-Wno-deprecated-declarations’ suppresses the warning.

Best,
Yue

> On Apr 21, 2016, at 4:26 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
> 
> 
> On 21 April 2016 at 15:58, Yixuan Qiu wrote:
> | It looks like a "bug" of Armadillo. In fn_trunc_exp.hpp, trunc_exp()
> | calles Math<eT>::log_max() that has already been labeled deprecated.
> 
> Good catch. I concur.  CC'ing Conrad.
> 
> Dirk
> 
> 
> | Best,
> | Yixuan
> | 
> | 2016-04-21 15:51 GMT-04:00 Dirk Eddelbuettel <edd at debian.org <mailto:edd at debian.org>>:
> | >
> | > Hi Yue,
> | >
> | > On 21 April 2016 at 15:44, Yue Li wrote:
> | > | Dear List,
> | > |
> | > | Just a super naive (dumb) question: after upgrading to RcppArmadillo_0.6.700.3.0 Rcpp_0.12.4, I receive compilation warning ''log_max' has been explicitly marked deprecated here” on every line of my code that uses ‘trunc_exp’ or ‘trunc_log’.
> | > |
> | > | I wonder how to fix this. The code to reproduce the warning and the log are pasted below. I got the same warning on Linux server as well.
> | >
> | > Many of us use Rcpp and RcppArmadillo daily but I have not seen this.  I
> | > gather that you use OS X -- so I presume this is clang?  What version?
> | >
> | > Do you set particular compiler flags?  I often use --pendantic.
> | >
> | > Did you try adding -Wno-deprecated-declarations as suggested?
> | >
> | > Did you chase down which header files this is from?
> | >
> | > Lastly, did you poke into the Armadillo header?  From the top of my head I
> | > seem to recall that there is a define to suppress error mesages too.
> | >
> | > Dirk
> | >
> | > |
> | > | Thanks a lot in advance,
> | > | Yue
> | > |
> | > | Code:
> | > |
> | > | #include <RcppArmadillo.h>
> | > |
> | > | // [[Rcpp::depends("RcppArmadillo")]]
> | > |
> | > | // [[Rcpp::export]]
> | > | double trunc_exp_Rcpp(double x) {
> | > |
> | > |   return arma::trunc_exp(x);
> | > | }
> | > |
> | > | Outputs log:
> | > |
> | > | > Rcpp::sourceCpp('tmp.cpp')
> | > | In file included from tmp.cpp:1:
> | > | In file included from /Library/Frameworks/R.framework/Versions/3.2/Resources/library/RcppArmadillo/include/RcppArmadillo.h:31:
> | > | In file included from /Library/Frameworks/R.framework/Versions/3.2/Resources/library/RcppArmadillo/include/RcppArmadilloForward.h:46:
> | > | In file included from /Library/Frameworks/R.framework/Versions/3.2/Resources/library/RcppArmadillo/include/armadillo:458:
> | > | /Library/Frameworks/R.framework/Versions/3.2/Resources/library/RcppArmadillo/include/armadillo_bits/fn_trunc_exp.hpp:23:60: warning: 'log_max' is deprecated [-Wdeprecated-declarations]
> | > |   if(std::numeric_limits<eT>::is_iec559 && (x >= Math<eT>::log_max() ))
> | > |                                                            ^
> | > | tmp.cpp:8:16: note: in instantiation of function template specialization 'arma::trunc_exp<double>' requested here
> | > |   return arma::trunc_exp(x);
> | > |                ^
> | > | /Library/Frameworks/R.framework/Versions/3.2/Resources/library/RcppArmadillo/include/armadillo_bits/constants_old.hpp:50:29: note: 'log_max' has been explicitly marked deprecated here
> | > |   arma_deprecated static eT log_max()   { static const eT out = std::log(std::numeric_limits<eT>::max()); return out; }  // use datum::log_max instead
> | > |                             ^
> | > | 1 warning generated.
> | > | > sessionInfo()
> | > | R version 3.2.4 (2016-03-10)
> | > | Platform: x86_64-apple-darwin13.4.0 (64-bit)
> | > | Running under: OS X 10.11.4 (El Capitan)
> | > |
> | > | locale:
> | > | [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
> | > |
> | > | attached base packages:
> | > | [1] stats     graphics  grDevices utils     datasets  methods   base
> | > |
> | > | loaded via a namespace (and not attached):
> | > | [1] tools_3.2.4               RcppArmadillo_0.6.700.3.0 Rcpp_0.12.4
> | > | >
> | > | _______________________________________________
> | > | Rcpp-devel mailing list
> | > | Rcpp-devel at lists.r-forge.r-project.org <mailto:Rcpp-devel at lists.r-forge.r-project.org>
> | > | https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel <https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel>
> | > --
> | > http://dirk.eddelbuettel.com <http://dirk.eddelbuettel.com/> | @eddelbuettel | edd at debian.org <mailto:edd at debian.org>
> | > _______________________________________________
> | > Rcpp-devel mailing list
> | > Rcpp-devel at lists.r-forge.r-project.org <mailto:Rcpp-devel at lists.r-forge.r-project.org>
> | > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel <https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel>
> | 
> | 
> | 
> | -- 
> | Yixuan Qiu <yixuan.qiu at cos.name <mailto:yixuan.qiu at cos.name>>
> | Department of Statistics,
> | Purdue University
> 
> -- 
> http://dirk.eddelbuettel.com <http://dirk.eddelbuettel.com/> | @eddelbuettel | edd at debian.org <mailto:edd at debian.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20160421/6ad89e54/attachment-0001.html>


More information about the Rcpp-devel mailing list