[Rcpp-devel] Warnings in build of RcppArmadillo project
Romain Francois
romain at r-enthusiasts.com
Wed Jun 5 16:48:52 CEST 2013
The change affects Rcpp, not RcppArmadillo.
Le 05/06/13 16:45, Simon Zehnder a écrit :
> Hi Romain,
>
> is revision 4331 already in RcppArmadillo 3.9.0?
>
> Best
>
> Simon
>
>
> On Jun 5, 2013, at 4:30 PM, Romain Francois <romain at r-enthusiasts.com> wrote:
>
>> Most of these are in fact happening in armadillo's code base.
>>
>> Le 05/06/13 16:23, Simon Zehnder a écrit :
>>> Hi Rcpp-Users and Rcpp-Devels,
>>>
>>> I just build an RcppArmadillo project on my computer using gcc-4.8.1 and the newest Version of RcppArmadillo. I got some warnings I cannot explain to myself. It builds the library and installs it. Nevertheless I would like to know more about my warnings:
>>>
>>> In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo:397:0,
>>> from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/RcppArmadilloForward.h:36,
>>> from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/RcppArmadillo.h:29,
>>> from FinmixModel.cc:14:
>>> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/fn_as_scalar.hpp: In static member function ‘static typename T1::elem_type arma::as_scalar_redirect<N>::apply(const T1&)’:
>>> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/fn_as_scalar.hpp:48:34: warning: typedef ‘eT’ locally defined but not used [-Wunused-local-typedefs]
>>> typedef typename T1::elem_type eT;
>>> ^
>>> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/fn_as_scalar.hpp: In function ‘typename T1::elem_type arma::as_scalar(const arma::Base<typename T1::elem_type, T1>&)’:
>>> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/fn_as_scalar.hpp:320:34: warning: typedef ‘eT’ locally defined but not used [-Wunused-local-typedefs]
>>> typedef typename T1::elem_type eT;
>>> ^
>>> In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo:397:0,
>>> from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/RcppArmadilloForward.h:36,
>>> from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/RcppArmadillo.h:29,
>>> from FinmixModel.cc:14:
>>> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/fn_as_scalar.hpp: In function ‘typename T1::elem_type arma::as_scalar(const arma::BaseCube<typename T1::elem_type, T1>&)’:
>>> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/fn_as_scalar.hpp:384:34: warning: typedef ‘eT’ locally defined but not used [-Wunused-local-typedefs]
>>> typedef typename T1::elem_type eT;
>>> ^
>>> In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include/Rcpp/Module.h:352:0,
>>> from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include/Rcpp.h:63,
>>> from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/RcppArmadillo.h:30,
>>> from FinmixModel.cc:14:
>>> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include/Rcpp/module/class.h: In member function ‘Rcpp::class_<Class>::self& Rcpp::class_<Class>::derives(const char*)’:
>>> /Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include/Rcpp/module/class.h:495:56: warning: typedef ‘parent_prop_class’ locally defined but not used [-Wunused-local-typedefs]
>>> typedef typename parent_class_::prop_class parent_prop_class ;
>>
>> This one I just fixed in rev 4331.
>>
>>> The FinmixModel class looks like:
>>>
>>> HEADER:
>>> #include <RcppArmadillo.h>
>>> // [[Rcpp::depends(RcppArmadillo)]]
>>>
>>> #include <string>
>>>
>>> class FinmixModel {
>>>
>>> public:
>>> Rcpp::List parList;
>>> arma::rowvec weightV;
>>> arma::uvec tV;
>>>
>>> bool indicFix;
>>> unsigned int K;
>>> unsigned int r;
>>>
>>> /* ctor */
>>> FinmixModel(const Rcpp::S4& classS4);
>>> /* dtor */
>>> ~FinmixModel();
>>> };
>>>
>>> CC:
>>> #include <RcppArmadillo.h>
>>> #include "FinmixModel.h"
>>>
>>> FinmixModel::FinmixModel(const Rcpp::S4& classS4) {
>>>
>>> /**
>>> * As the parameters 'par' can have very differing implementations
>>> * they are kept in a general Rcpp::List object which is then
>>> * decomposed in main code.
>>> *
>>> */
>>> parList = classS4.slot("par");
>>> weightV = Rcpp::as<arma::mat>(classS4.slot("weight"));
>>>
>>> /**
>>> * 'T' can be 'NA' if the model has no repetitions (Binomial)
>>> * in this case this attribute is set to an 1 x 1 vector
>>> *
>>> */
>>> tV = Rcpp::as<arma::uvec>(classS4.slot("T"));
>>> indicFix = Rcpp::as<bool>(classS4.slot("indicfix"));
>>> K = Rcpp::as<unsigned int>(classS4.slot("K"));
>>> r = Rcpp::as<unsigned int>(classS4.slot("r"));
>>> }
>>>
>>> FinmixModel::~FinmixModel(){}
>>>
>>>> From looking into the files RcppArmadilloForward.h, fn_as_scalar.hpp and class.h it seems that there is something about typedefs, but I am not sure. It seems to me just not right, that all these warnings occur in my build output.
>>>
>>>
>>> Best
>>>
>>> Simon
--
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30
R Graph Gallery: http://gallery.r-enthusiasts.com
blog: http://blog.r-enthusiasts.com
|- http://bit.ly/Zs97qg : highlight 0.4.1
`- http://bit.ly/10X94UM : Mobile version of the graph gallery
More information about the Rcpp-devel
mailing list