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.

Reply via email to