eddelbuettel / bh

R package providing Boost Header files
84 stars 33 forks source link

class std::auto_ptr' is deprecated #57

Closed jeroen closed 6 years ago

jeroen commented 6 years ago

When compiling with gcc-8 (currently being deployed on CRAN's Fedora machines) many packages that include BH see this warning:

warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]

It looks like CRAN will start flagging these warnings in CMD check, so they will have to be fixed.

Some packages that have this include anytime, dplyr, later, svglite, purrrlyr, highlight, ldat, readr, and a bunch more.

eddelbuettel commented 6 years ago

We also get this with g++-7 ie I see it on my Ubuntu boxen too.

I recommend setting something in ~/.R/Makevars to silence this. The laptop I type this on currently has

#PEDANTIC=-pedantic -Werror
PEDANTIC=-Wno-deprecated-declarations

## for C code
CFLAGS=               -g -O3 -Wall -pipe $(PEDANTIC) -Wno-unused -std=gnu99 -march=native
#CFLAGS=               -O3 -g0 -Wall -pipe $(PEDANTIC) -std=gnu99 -I/usr/local/cuda/include

## for C++ and C++11 code
#CXXFLAGS=              -g -O3 -Wall -pipe -Wno-unused $(PEDANTIC) -DRCPP_NEW_DATE_DATETIME_VECTORS
#CXX1XFLAGS=        -g -O3 -Wall -pipe -Wno-unused $(PEDANTIC) -DRCPP_NEW_DATE_DATETIME_VECTORS
CXXFLAGS=               -g -O3 -Wall -pipe -Wno-unused $(PEDANTIC) -march=native
CXX1XFLAGS=     -g -O3 -Wall -pipe -Wno-unused $(PEDANTIC) -march=native
CXX11FLAGS=     -g -O3 -Wall -pipe -Wno-unused $(PEDANTIC) -march=native
CXX14FLAGS=     -g -O3 -Wall -pipe -Wno-unused $(PEDANTIC) -march=native

and that works perfectly well. I am fairly sure I do not want to edit Boost fikes for CRAN's pleasure so this will just remain open.

eddelbuettel commented 6 years ago

Add -DBOOST_NO_AUTO_PTR to the compiler flags, or your source file, and all is silent.