-
Notifications
You must be signed in to change notification settings - Fork 255
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
[BUG] g++ 14 -Wnonnull
triggered when compiling with -O2
#1134
Comments
Thanks! Fixed, or at least "silenced." As I mentioned in the commit: The warning is silenced by adding an assert(not-null). That assertion doesn't get triggered by any of the regression tests, but GCC could be reporting a real latent issue, and if so now with the assert we'll get a nice trackable ICE if we ever do encounter a source file that triggers a problem. |
Perfect! By the way, feel free to ignore these newer issues if there are older more important ones, I am reporting what I encounter as I write regular-ish code, there's still a few more I need to open, but they aren't super high priority. |
Thanks, understood, but in practice when I can't keep up (which has been a lot of the past year) I tend to at least try to stay abreast of the more current ones. And if I can knock out small ones like this one I can reduce the remaining pile by some amount, and most ICEs are easy to resolve (which I can usually just repro in the debugger to find a stray bad dereference or one of the simpler assertion failure) and helps stability. So I do try to do that kind of report a little more responsively. Again, thanks. |
Adding `assert(object_type);` silences a null-dereference warning when compiling cppfront on GCC 14 using -Werror=nonnull -O2 (both switches together) Running all regression tests doesn't fire the assertion, but it's good hygiene to have it there anyway. GCC could be diagnosing a real error that I don't see, and that happens not to be exercised by the regression tests. At least now with the assertion we'll get a clear ICE to track down, if we ever do encounter a source file where it does fire.
Describe the bug
Title. This is a pretty weird one, I am not sure why it only happens when compiling with optimizations.
To Reproduce
Steps to reproduce the behavior:
/usr/bin/g++ -std=c++20 -Wall -Wextra -pedantic -Werror -O2 -I./include/ -o cppfront.exe source/cppfront.cpp
Additional context
It could be a false-positive, but I haven't analyzed the code yet.
The text was updated successfully, but these errors were encountered: