Files
ports/science/rdkit/files/patch-Code_RDGeneral_Exceptions.h
2026-10-04 04:07:15 +00:00

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;