]> git.ipfire.org Git - thirdparty/gcc.git/commit
AVR: target/119355 - Fix ICE in pass avr-fuse-move / -mfuse-move.
authorGeorg-Johann Lay <avr@gjlay.de>
Tue, 18 Mar 2025 20:22:22 +0000 (21:22 +0100)
committerGeorg-Johann Lay <avr@gjlay.de>
Tue, 18 Mar 2025 20:44:00 +0000 (21:44 +0100)
commit16065b6239aab2eecfd7a50f58d38324ee6478ba
treecb196e18010923722c800c21b4c1230a276d5980
parent6fc1f70f0b7b50fd85aa58a0f29dd1e17f2113d1
AVR: target/119355 - Fix ICE in pass avr-fuse-move / -mfuse-move.

This ICE only occurred when the compiler is built with, say
CXXFLAGS='-Wp,-D_GLIBCXX_ASSERTIONS'.  The problem was that
a value from an illegal REGNO was read.  The value was not
used in these cases, but the access triggered an assertion
due to reading past std::array.

gcc/
PR target/119355
* config/avr/avr-passes.cc (memento_t::apply): Only
read values[p.arg] when it is actually used.
gcc/config/avr/avr-passes.cc