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