https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86532
--- Comment #21 from Martin Sebor <msebor at gcc dot gnu.org> --- Thanks for testing the patch! I've tweaked it to avoid the ICE. I'm not sure what masked the ICE in my testing but mixing signed and unsigned types in the same expression without conversion was the cause.