36 lines
1.4 KiB
C++
36 lines
1.4 KiB
C++
-- Fix cross-DLL Boost.Python exception translation on FreeBSD.
|
|
-- Move exported exception-class destructors out-of-line so the Itanium ABI
|
|
-- emits a single typeinfo/vtable instance per class in its owning shared
|
|
-- library. Without this each shared module has its own local typeinfo copy
|
|
-- and catch-by-derived-type in Python exception translators fails.
|
|
|
|
--- Code/RDGeneral/Exceptions.h.orig 2026-08-28 02:56:41 UTC
|
|
+++ Code/RDGeneral/Exceptions.h
|
|
@@ -28,7 +28,7 @@ class RDKIT_RDGENERAL_EXPORT IndexErrorException : pub
|
|
|
|
const char *what() const noexcept override { return _msg.c_str(); }
|
|
|
|
- ~IndexErrorException() noexcept override = default;
|
|
+ ~IndexErrorException() noexcept override;
|
|
|
|
private:
|
|
int _idx;
|
|
@@ -45,7 +45,7 @@ class RDKIT_RDGENERAL_EXPORT ValueErrorException : pub
|
|
ValueErrorException(const char *msg)
|
|
: std::runtime_error("ValueErrorException"), _value(msg) {}
|
|
const char *what() const noexcept override { return _value.c_str(); }
|
|
- ~ValueErrorException() noexcept override = default;
|
|
+ ~ValueErrorException() noexcept override;
|
|
|
|
private:
|
|
std::string _value;
|
|
@@ -68,7 +68,7 @@ class RDKIT_RDGENERAL_EXPORT KeyErrorException : publi
|
|
|
|
const char *what() const noexcept override { return _msg.c_str(); }
|
|
|
|
- ~KeyErrorException() noexcept override = default;
|
|
+ ~KeyErrorException() noexcept override;
|
|
|
|
private:
|
|
std::string _key;
|