Thanks, I'll check that out.<div><br></div><div>Maybe it would be helpful if I compiled a general list of what UB is being caught and where. Would anyone else have any interest?<div><div><br></div><div>Adam<br><br><div class="gmail_quote">

On Thu, Apr 11, 2013 at 4:37 AM, Magnus Reftel <span dir="ltr"><<a href="mailto:magnus.reftel@gmail.com" target="_blank">magnus.reftel@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5">On 10 April 2013 19:54, 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:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I would like to work on improving support for C++ in the static analyzer. Specifically, I think it<br>
would be valuable to improve the checkers for undefined behavior including those already suggested.<br>
</blockquote>
<br></div>
I'd be happy to provide feedback on a more specific version of this part of the proposal.<br>
<br>
In particular, a useful starting point (maybe this already exists?) would be a list of all C/C++ undefined behaviors broken down by whether Clang/LLVM...<br>
<br>
- can reliably provide a compile-time diagnostic<br>
<br>
- can reliably provide a runtime diagnostic<br>
<br>
- cannot provide any diagnostic, but implements a predictable behavior<br>
<br>
- cannot provide any diagnostic and also implements unpredictable behavior<br>
<br>
Obviously the last category is the interesting place for future work.<br></blockquote></div></div><div><br><div>A list of all undefined/implementation defined/unspecified behaviour 
in ANSI-C and a classification of which can be determined statically and/or 
dynamically can be found in Les Hatton's Safer C. Perhaps that could be 
of help when examining where Clang is on those items?<br><br></div>Best Regards<span class="HOEnZb"><font color="#888888"><br>Magnus Reftel<br></font></span></div></div></div></div>
</blockquote></div><br></div></div></div>