Skip to content

build: drop unnecessary virtual on final ZMQ destructor - #318

Merged
minuszka merged 1 commit into
defcon-project:v22.1.xfrom
minuszka:fix/zmq-final-dtor-20261021
Oct 21, 2026
Merged

minuszka merged 1 commit into
defcon-project:v22.1.xfrom
minuszka:fix/zmq-final-dtor-20261021

Conversation

@minuszka

Copy link
Copy Markdown
Contributor

Issue being fixed or feature implemented

Newer Clang versions can reject the explicit virtual destructor on the final ZMQ notification class when -Wunnecessary-virtual-specifier is treated as an error. This can stop an otherwise valid build.

What was done?

Backport Dash Core #7317, authored by UdjinM6: remove virtual from this one destructor declaration. The final class is owned and destroyed through std::unique_ptr<CZMQNotificationInterface>; its destructor still calls Shutdown(). No other source changes.

How Has This Been Tested?

  • Independent review approved the exact patch c35fa92d94e0ef0c15620ebc6ca10802306633da5a093d2c6b77fa8cbe91cc9f, tree 8f939f3d8f18cbd6c94a72a3593089d7ab550a1e.
  • Targeted GCC 13.3 compilation: original and patched real headers in C++17/C++20, and both versions of the actual ZMQ translation unit in C++17; 6/6 passed with warnings treated as errors.
  • Final full local Linux CI on the approved tree with DEBUG_LOCKORDER: all seven workflow stages passed, including the actual ZMQ object build, required Qt suites, strict LSan/canary, and all 30/30 functional variants; both helper regression suites passed.
  • Actual commit range: commit-script, commit-message, whitespace and file-name/mode lint all passed (4/4).

The newer Clang warning was not reproduced locally. The current clang-18 configurations do not exercise it; the fix follows the upstream diagnostic and the ownership check above. No new runtime test is added for this declaration-only build fix.

Breaking Changes

None to application behavior or network/data formats. This is an internal C++ class and the build recompiles it fully.

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation
  • I have assigned this pull request to a milestone

Backport Dash Core #7317 to avoid Clang's unnecessary virtual specifier
diagnostic when warnings are treated as errors. The final notification
interface is owned and destroyed through its concrete type.

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
@minuszka
minuszka merged commit 2f471a5 into defcon-project:v22.1.x Oct 21, 2026
4 checks passed
@minuszka
minuszka deleted the fix/zmq-final-dtor-20261021 branch October 22, 2026 06:07
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.

1 participant