public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/108499] New: False positive -Warray-bounds @ 2023-01-23 15:28 steveire at gmail dot com 2023-01-23 16:03 ` [Bug tree-optimization/108499] " pinskia at gcc dot gnu.org ` (2 more replies) 0 siblings, 3 replies; 4+ messages in thread From: steveire at gmail dot com @ 2023-01-23 15:28 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108499 Bug ID: 108499 Summary: False positive -Warray-bounds Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: steveire at gmail dot com Target Milestone: --- ``` #include <vector> class MyStruct { public: std::vector<double> const& refAccessor(); std::size_t getSize(); }; void emitsWarning() { MyStruct params; auto unusedThing = params.refAccessor(); (void)unusedThing; auto const theSize = params.getSize(); std::vector<double> initialVelocities(theSize, 0.0); initialVelocities.back() = 6; std::vector<double> initialJoints(theSize, 0.0); initialJoints.back() = 5; } ``` -Werror=array-bounds -O2 ``` <source>: In function 'void emitsWarning()': <source>:20:27: error: array subscript -1 is outside array bounds of 'double [1152921504606846975]' [-Werror=array-bounds] 20 | initialVelocities.back() = 6; | ~~~~~~~~~~~~~~~~~~~~~~^~ cc1plus: some warnings being treated as errors Compiler returned: 1 ``` https://gcc.godbolt.org/z/sYrK6o54a ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/108499] False positive -Warray-bounds 2023-01-23 15:28 [Bug c++/108499] New: False positive -Warray-bounds steveire at gmail dot com @ 2023-01-23 16:03 ` pinskia at gcc dot gnu.org 2023-01-24 11:01 ` steveire at gmail dot com 2023-01-24 11:02 ` steveire at gmail dot com 2 siblings, 0 replies; 4+ messages in thread From: pinskia at gcc dot gnu.org @ 2023-01-23 16:03 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108499 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Adding: if (!theSize) __builtin_unreachable(); After the declaration of theSize, fixes the warning. I don't know if in the original code there was a check for zero theSize or not but the warning disappears if there is. There is no way to figure out for the compiler that theSize is not zero either. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/108499] False positive -Warray-bounds 2023-01-23 15:28 [Bug c++/108499] New: False positive -Warray-bounds steveire at gmail dot com 2023-01-23 16:03 ` [Bug tree-optimization/108499] " pinskia at gcc dot gnu.org @ 2023-01-24 11:01 ` steveire at gmail dot com 2023-01-24 11:02 ` steveire at gmail dot com 2 siblings, 0 replies; 4+ messages in thread From: steveire at gmail dot com @ 2023-01-24 11:01 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108499 --- Comment #2 from Stephen <steveire at gmail dot com> --- > There is no way to figure out for the compiler that theSize is not zero either. There is no way for the compiler to figure out that theSize *is* zero. We have warnings -Wmaybe-uninitialized and -Wuninitialized. This warning is -Warray-bounds, not -Wmaybe-array-bounds. This warning should not be emitted. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/108499] False positive -Warray-bounds 2023-01-23 15:28 [Bug c++/108499] New: False positive -Warray-bounds steveire at gmail dot com 2023-01-23 16:03 ` [Bug tree-optimization/108499] " pinskia at gcc dot gnu.org 2023-01-24 11:01 ` steveire at gmail dot com @ 2023-01-24 11:02 ` steveire at gmail dot com 2 siblings, 0 replies; 4+ messages in thread From: steveire at gmail dot com @ 2023-01-24 11:02 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108499 --- Comment #3 from Stephen <steveire at gmail dot com> --- False positives with this will just lead to proliferation of -Wno-array-bounds, which doesn't help. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-01-24 11:02 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-01-23 15:28 [Bug c++/108499] New: False positive -Warray-bounds steveire at gmail dot com 2023-01-23 16:03 ` [Bug tree-optimization/108499] " pinskia at gcc dot gnu.org 2023-01-24 11:01 ` steveire at gmail dot com 2023-01-24 11:02 ` steveire at gmail dot com
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).