------- Additional Comments From dberlin at gcc dot gnu dot org 2005-04-23 15:09 ------- Subject: Re: [4.0/4.1 regression] miscompiled pointer subtraction broke Linux kernel
On Sat, 2005-04-23 at 14:59 +0000, jakub at gcc dot gnu dot org wrote: > ------- Additional Comments From jakub at gcc dot gnu dot org 2005-04-23 > 14:59 ------- > Shouldn't that be then also: > - if (!is_gimple_min_invariant (genop1)) > + if (!is_gimple_min_invariant (folded)) > ? > > yes In fact, the error actually makes no sense (IE you guys are overlooking an important fact). is_gimple_min_invariants are legal operands to unary expressions, regardless of whether they are "complex" or not, or so i was told. So if genop1 is is_gimple_min_invariant, it should be fine there, and you shouldn't need to use folded. If it wasn't, we'd force_gimple_operand it. I'm pretty sure you are just covering up a disconnect in what we allow as gimple and what we handle. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21173