https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102831
--- Comment #8 from Peter Bergner <bergner at gcc dot gnu.org> --- (In reply to Martin Sebor from comment #7) > (In reply to Peter Bergner from comment #6) > > If it's reliably reproducible (ideally with a cross), can you attach a > translation unit and the options to use to reproduce it with? It's somewhat repeatable. :-( If I cd into $BUILD_DIR/gcc and execute the command from my build log that ICEs, that will 100% always ICE. However, if I add -save-temps it will not ICE and adding -E and compiling the resulting .ii file will not ICE either. In addition, if I cd to my home dir and execute the failing command line, with only changing the -I. options to -I/$BUILD_DIR/gcc, then it also does not ICE. It seems only executing the command in the correct build directory seems to work. I have been able to recreate the issue on the gcc compile farm machine gcc135. You can recreate the ICE with the following command. I believe you should be able to access that directory. [bergner@gcc135 gcc]$ pwd /home/bergner/gcc/build/gcc-fsf-mainline-pr103127-base-regtest-2/gcc [bergner@gcc135 gcc]$ /home/bergner/gcc/build/gcc-fsf-mainline-pr103127-base-regtest-2/./prev-gcc/xg++ -B/home/bergner/gcc/build/gcc-fsf-mainline-pr103127-base-regtest-2/./prev-gcc/ -nostdinc++ -I/home/bergner/gcc/build/gcc-fsf-mainline-pr103127-base-regtest-2/prev-powerpc64le-linux/libstdc++-v3/include/powerpc64le-linux -I/home/bergner/gcc/build/gcc-fsf-mainline-pr103127-base-regtest-2/prev-powerpc64le-linux/libstdc++-v3/include -I/home/bergner/gcc/gcc-fsf-mainline-pr103127-base/libstdc++-v3/libsupc++ -fno-PIE -S -g -O2 -fno-checking -gtoggle -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I./ -I/home/bergner/gcc/gcc-fsf-mainline-pr103127-base/gcc/. -I/home/bergner/gcc/gcc-fsf-mainline-pr103127-base/gcc/../include -I/home/bergner/gcc/gcc-fsf-mainline-pr103127-base/gcc/../libcpp/include /home/bergner/gcc/gcc-fsf-mainline-pr103127-base/gcc/lra-lives.c In file included from /home/bergner/gcc/gcc-fsf-mainline-pr103127-base/gcc/lra-lives.c:43: /home/bergner/gcc/gcc-fsf-mainline-pr103127-base/gcc/lra-lives.c: In function ‘bool process_bb_lives(basic_block, int&, bool)’: /home/bergner/gcc/gcc-fsf-mainline-pr103127-base/gcc/sparseset.h:215:20: error: suggest parentheses around assignment used as truth value [-Werror=parentheses] 215 | && (((ITER) = sparseset_iter_elm (SPARSESET)) || 1); \ | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/bergner/gcc/gcc-fsf-mainline-pr103127-base/gcc/lra-lives.c:1033:7: note: in expansion of macro ‘EXECUTE_IF_SET_IN_SPARSESET’ 1033 | EXECUTE_IF_SET_IN_SPARSESET (unused_set, j) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~