[Rcpp-devel] Warnings in build of RcppArmadillo project
Simon Zehnder
szehnder at uni-bonn.de
Wed Jun 5 16:37:07 CEST 2013
Hi Romain,
thanks for the fast reply! So nothing to worry about. taking flags "-Wunused-local-typedefs" away from compilation should let the warnings vanish from output?
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