John and Richard,<div><br></div><div>Thank you for the great ideas. The idea of incorporating a randomization heuristic is very interesting.</div><div>It certainly seems like a technique that could be applied in other contexts.</div>

<div><br></div><div>As far as the new "sequence points" rules, I guess it's time to hit the standard again. I finally thought</div><div>I understood the C++03 rules too.</div><div><br></div><div>Adam<br><br>

<div class="gmail_quote">On Fri, Apr 12, 2013 at 5:35 PM, John Regehr <span dir="ltr"><<a href="mailto:regehr@cs.utah.edu" target="_blank">regehr@cs.utah.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Unfortunately, I don't expect this to catch very many bugs which the static check misses; this will<br>
probably only catch cases where the modified objects are the same but not "obviously" the same<br>
</blockquote>
<br></div>
I still think this would be useful since any kind of indirection defeats the static check--a function call as in your example below isn't even needed.<span class="HOEnZb"><font color="#888888"><br>
<br>
John</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  int n;<br>
  int &f() { return n; }<br>
  int g(int, int);<br>
  int k = g(f()++, n);</blockquote>
</div></div></blockquote></div><br></div>