id summary reporter owner description type status priority milestone component version resolution keywords cc cpu platform 2871 lib/iostream/mm.cpp:Fails to build with GCC 6: declaration of ... has a different exception specifier Bas Couwenberg grass-dev@… "As reported by Martin Michlmayr in [https://bugs.debian.org/811886 Debian Bug #811886]: > This package fails to build with GCC 6. GCC 6 has not been released yet, but it's expected that GCC 6 will become the default compiler for stretch. > > Note that only the first error is reported; there might be more. You can find a snapshot of GCC 6 in experimental. To build with GCC 6, you can set CC=gcc-6 CXX=g++-6 explicitly. > > You may be able to find out more about this issue at > https://gcc.gnu.org/gcc-6/changes.html > {{{ > sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on dl580gen9-02.hlinux > ... > c++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/<>/dist.x86_64-pc-linux-gnu/include -I/<>/dist.x86_64-pc-linux-gnu/include -DPACKAGE=\""""grasslibs""\"" -I/<>/dist.x86_64-pc-linux-gnu/include -I/<>/dist.x86_64-pc-linux-gnu/include -DRELDIR=\""lib/iostream\"" -o OBJ.x86_64-pc-linux-gnu/rtimer.o -c rtimer.cpp > mm.cpp: In function 'void* operator new [](size_t)': > mm.cpp:279:7: error: declaration of 'void* operator new [](size_t) throw (std::bad_alloc)' has a different exception specifier > void* operator new[] (size_t sz) throw(std::bad_alloc) { > ^~~~~~~~ > > In file included from mm.cpp:49:0: > /<>/dist.x86_64-pc-linux-gnu/include/grass/iostream/mm.h:132:17: note: from previous declaration 'void* operator new [](std::size_t)' > friend void * operator new[](size_t) throw(std::bad_alloc); > ^~~~~~~~ > > mm.cpp: In function 'void* operator new(size_t)': > mm.cpp:330:7: error: declaration of 'void* operator new(size_t) throw (std::bad_alloc)' has a different exception specifier > void* operator new (size_t sz) throw(std::bad_alloc) { > ^~~~~~~~ > > In file included from mm.cpp:49:0: > /<>/dist.x86_64-pc-linux-gnu/include/grass/iostream/mm.h:131:17: note: from previous declaration 'void* operator new(std::size_t)' > friend void * operator new(size_t) throw(std::bad_alloc); > ^~~~~~~~ > > ../../include/Make/Compile.make:35: recipe for target 'OBJ.x86_64-pc-linux-gnu/mm.o' failed > }}}" defect closed blocker 7.2.0 Compiling svn-releasebranch70 fixed iostream, gcc, -fexceptions, throw, noexcept All Linux