https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114012

anlauf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2024-02-20
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from anlauf at gcc dot gnu.org ---
The dump-tree shows for the assignment i = -i :

  {
    struct __class__STAR_t val.7;

    val.7._data = (void *) neg (&i)._data;
    val.7._vptr = (struct __vtype__STAR * {ref-all}) neg (&i)._vptr;
    val.7._len = 0;
    i = {CLOBBER};
    assign (&i, &val.7);
  }

We should evaluate neg (&i) only once.

Reply via email to