From 2d0ba2b997d05496920dd90d974fa8e73e37a1f6 Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Thu, 26 Sep 2024 20:25:39 +0100 Subject: [PATCH] Fixing build issue with Linux/Clang/C++23 io_base doesn't have a declared destructor, and gets an automatically generated one. This automatic destructor tries to destruct the pimpl unique pointer and causes a compilation failure. Fix: add an explicit destructor with an empty implementation in the cpp file. --- src/bindings/sail-c++/io_base.cpp | 4 ++++ src/bindings/sail-c++/io_base.h | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/bindings/sail-c++/io_base.cpp b/src/bindings/sail-c++/io_base.cpp index 9be0d9ae..8bd26d68 100644 --- a/src/bindings/sail-c++/io_base.cpp +++ b/src/bindings/sail-c++/io_base.cpp @@ -33,6 +33,10 @@ io_base::io_base(struct sail_io *sail_io) { } +io_base::~io_base() +{ +} + int io_base::features() const { return d->sail_io_wrapper->features; diff --git a/src/bindings/sail-c++/io_base.h b/src/bindings/sail-c++/io_base.h index 394824c8..3e6c56a5 100644 --- a/src/bindings/sail-c++/io_base.h +++ b/src/bindings/sail-c++/io_base.h @@ -61,6 +61,8 @@ class SAIL_EXPORT io_base : public abstract_io */ explicit io_base(struct sail_io *sail_io); + ~io_base(); + /* * Returns the I/O stream features. See SailIoFeature. */