Package: libloki Version: 0.1.7-3 Followup-For: Bug #984186 User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch X-Debbugs-Cc: sl...@ubuntu.com Control: tags -1 patch
Dear Maintainer, GCC 11 defaults to C++17 which does not allow dynamic exception specifications anymore: https://gcc.gnu.org/gcc-11/porting_to.html In Ubuntu, the attached patch was applied to replace the throw(...) specifications in the recommended way: * Fix FTBFS with GCC-11 by avoiding dynamic exception specifications Thanks for considering the patch. Cheers, Lukas -- System Information: Debian Release: 11.0 APT prefers impish APT policy: (500, 'impish') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.13.0-16-generic (SMP w/4 CPU threads) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=de_DE:en_GB:en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled
only in patch2: unchanged: --- libloki-0.1.7.orig/include/loki/SmallObj.h +++ libloki-0.1.7/include/loki/SmallObj.h @@ -459,7 +459,7 @@ /// @note MSVC complains about non-empty exception specification lists. static void * operator new ( std::size_t size ) #else - static void * operator new ( std::size_t size ) throw ( std::bad_alloc ) + static void * operator new ( std::size_t size ) noexcept(false) #endif { typename MyThreadingModel::Lock lock; @@ -468,7 +468,7 @@ } /// Non-throwing single-object new returns NULL if allocation fails. - static void * operator new ( std::size_t size, const std::nothrow_t & ) throw () + static void * operator new ( std::size_t size, const std::nothrow_t & ) noexcept { typename MyThreadingModel::Lock lock; (void)lock; // get rid of warning @@ -482,7 +482,7 @@ } /// Single-object delete. - static void operator delete ( void * p, std::size_t size ) throw () + static void operator delete ( void * p, std::size_t size ) noexcept { typename MyThreadingModel::Lock lock; (void)lock; // get rid of warning @@ -512,8 +512,7 @@ /// @note MSVC complains about non-empty exception specification lists. static void * operator new [] ( std::size_t size ) #else - static void * operator new [] ( std::size_t size ) - throw ( std::bad_alloc ) + static void * operator new [] ( std::size_t size ) noexcept(false) #endif { typename MyThreadingModel::Lock lock; @@ -523,7 +522,7 @@ /// Non-throwing array-object new returns NULL if allocation fails. static void * operator new [] ( std::size_t size, - const std::nothrow_t & ) throw () + const std::nothrow_t & ) noexcept { typename MyThreadingModel::Lock lock; (void)lock; // get rid of warning @@ -537,7 +536,7 @@ } /// Array-object delete. - static void operator delete [] ( void * p, std::size_t size ) throw () + static void operator delete [] ( void * p, std::size_t size ) noexcept { typename MyThreadingModel::Lock lock; (void)lock; // get rid of warning