-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
overloaded virtual methods in plugins/LadspaEffect/calf/veal/src/analyzer.cpp
etc. break compilation on newer g++
#7284
Comments
Seems like you are touching the calf submodule. In that case, i would request you to upstream the changes to the calf repo too. Ie, open the PRs in LMMS/veal and calf-studio/calf. |
@Rossmaxx Sure thing, but they have it fixed upstream already: https://github.com/calf-studio-gear/calf/blob/master/src/calf/analyzer.h#L61 I've submitted the downstream patch to LMMS/veal#12 ; while it was possible to silence it in this repo, I concur it's better to have it properly fixed at the source. |
We didn't bump the submission to reflect this change. |
@Rossmaxx sorry, what do you mean? |
LMMS is still at the older commit. A PR similar to #6771 is needed right? |
Yes, correct. |
@Rossmaxx @JohannesLorenz would something like #7290 suffice? I'm no expert at git submodules, but |
Interesting point with the |
System Information
GCC >=13.0
LMMS Version(s)
1.3.0-alpha (master)
Most Recent Working Version
No response
Bug Summary
As per https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87729 , g++ versions >= 13.0 have
-Woverloaded-virtual
in-Wall
now (as visible in https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=13.0 ). This, however, comes with caveats ( https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109740 ) - and, in our case, breaks e.g. the compilation ofplugins/LadspaEffect/calf/veal/src/analyzer.cpp
.The best solution IMO would be to rewrite the code so that no warning/error will be emitted, i.e. as per official docs: the simplest solution is to add a using-declaration to the derived class to un-hide the base function, e.g. add
using A::f;
to B. etc. (see yhirose/cpp-peglib@bd0e43e how the fix looks for some code - we already had a similar effort at https://github.com/LMMS/lmms/pull/3215/files etc.)Of course, suppressing it is also an option (although IMVHO with such an easy fix there's no real reason to suppress this).
BTW, I'd be happy to do a PR for this once this gets accepted/confirmed, the change would be simple enough :D
Note: this has previously surfaced in logs in #2044 and #3051 as a warning, but since g++ now has it in
-Wall
, it's no longer a "minor problem" IMO, as it both breaks CI and is a general nuisance ATM. This is, in turn, a blocker for bumping the build CI to bleeding edge versions ATM.Expected Behaviour
Build should be possible on g++ >= 13.0 with no compilation-breaking warnings/errors.
Steps To Reproduce
Logs
compilation log
Available in organic CI logs at https://github.com/FyiurAmron/lmms/actions/runs/9259008438/job/25470117717#step:9:483
Screenshots / Minimum Reproducible Project
No response
Please search the issue tracker for existing bug reports before submitting your own.
The text was updated successfully, but these errors were encountered: