On 09/24/2015 11:32 AM, Marek Polacek wrote:
On Wed, Sep 23, 2015 at 08:55:53PM +0200, Bernd Schmidt wrote:
On 09/23/2015 06:07 PM, Marek Polacek wrote:
Given that the code above seems to be useless now, I think let's put this
patch in as-is, backport it to gcc-5, then remove those redundant hunks on
trunk and add the testcase above.  Do you agree?

Sounds reasonable. If you can find a point in the history where that code
wasn't useless, it would be good to help us understand why it's there.

I did some archeology.  The code wasn't useless since it was added (r211859)
till r226110 where I added some unshare_exprs.  On the testcase I posted
earlier in the thread that makes a difference:

@@ -11,7 +11,7 @@
    else
      {
        <<< Unknown tree: void_cst >>>
-    }, (long unsigned int) (s->a[i] << SAVE_EXPR <i>);;
+    }, (long unsigned int) (s->a[UBSAN_BOUNDS (0B, SAVE_EXPR <i>, 0);,
SAVE_EXPR <i>;] << SAVE_EXPR <i>);;
  }

So we instrument the array multiple times as it's not shared anymore.

Ok to proceed with the plan I mentioned above?

Yes.


Bernd

Reply via email to