Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixing build issue with Linux/Clang/C++23 #219

Merged
merged 1 commit into from
Sep 26, 2024

Conversation

dutow
Copy link
Contributor

@dutow dutow commented Sep 26, 2024

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.

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.
@HappySeaFox
Copy link
Owner

Hi! Thanks for the PR! An interesting question is, does this change break ABI? I guess no.

@dutow
Copy link
Contributor Author

dutow commented Sep 26, 2024

I don't think this changes it. The destructor was already part of io_base.cpp (and any other TU that included io_base.h), and because of that, it was included in the binding library.

After this change, it will be still part of the library. The only difference is that now code using io_base.h won't try to generate a default implementation of the destructor.

I also verified this with nm -C src/bindings/sail-c++/libsail-c++.so.0.9.5, the results with and without this change are the same.

@HappySeaFox HappySeaFox merged commit c2a3009 into HappySeaFox:master Sep 26, 2024
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants