From 3cb3746b515da74371a3d16d4ac50dffe4ae0570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= Date: Tue, 9 Dec 2025 16:09:04 +0100 Subject: [PATCH 1/2] hex: unused txt.empty() -> txt.clear() src/bsontools/hex.cpp:81:17: warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result] 81 | txt.empty(); | ^~~~~~~~~ 1 warning generated. Sponsored-by: https://beaverlabs.net --- src/bsontools/hex.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bsontools/hex.cpp b/src/bsontools/hex.cpp index 611b7a4..4d40c2d 100755 --- a/src/bsontools/hex.cpp +++ b/src/bsontools/hex.cpp @@ -78,7 +78,7 @@ int main(int argc, char* argv[]) cout << '\n'; if (!cin.eof() ) cout << "\n"; - txt.empty(); + txt.clear(); continue; } } From db5b84ba3ce7e26b0a07a80ed3fd307cf5eac58f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= Date: Tue, 9 Dec 2025 16:12:16 +0100 Subject: [PATCH 2/2] bson: provide required-but-missing virtual destructor for virtual base class In file included from src/bsontools/bsonmain.cpp:10: In file included from /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/memory:76: /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/unique_ptr.h:95:2: warning: delete called on 'bsontools::dom::node' that is abstract but has non-virtual destructor [-Wdelete-abstract-non-virtual-dtor] 95 | delete __ptr; | ^ /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/unique_ptr.h:396:4: note: in instantiation of member function 'std::default_delete::operator()' requested here 396 | get_deleter()(std::move(__ptr)); | ^ src/bsontools/bsonmain.cpp:170:40: note: in instantiation of member function 'std::unique_ptr::~unique_ptr' requested here 170 | children.push_back(unique_ptr(s)); | ^ 1 warning generated. Sponsored-by: https://beaverlabs.net --- src/bsontools/bsonmain.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bsontools/bsonmain.cpp b/src/bsontools/bsonmain.cpp index 3423d76..0adef25 100755 --- a/src/bsontools/bsonmain.cpp +++ b/src/bsontools/bsonmain.cpp @@ -87,6 +87,7 @@ namespace bsontools { class node { public: node(string s) : fieldName(s) {} + virtual ~node() {} string fieldName; virtual void emit(bsonobjbuilder& b) = 0; virtual void print(int) = 0;