https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115026
--- Comment #2 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- OK, this is embarrassing. We are incorrectly folding a POINTER_PLUS_EXPR range operation: Folding statement: x_7 = 2048B + _2; -Queued stmt for removal. Folds to: 2062B +Queued stmt for removal. Folds to: 0B The reason is that the prange::update_bitmask() code is ignoring its operand and using the current bitmask. I have no idea how this bootstrapped *any* architecture. I suppose it needs a value/mask pair (0xe / 0x0) for the second operand that actually indicates a singleton. *shrug* Thanks for reporting this.