<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 2, 2015 at 5:43 PM, David Keaton <span dir="ltr"><<a href="mailto:dmk@dmk.com" target="_blank">dmk@dmk.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">On 07/02/2015 05:30 PM, Philip Reames wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
<br>
On 07/02/2015 04:44 PM, David Keaton wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
On 07/02/2015 03:17 AM, Kuperstein, Michael M wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
You want to redefine ["won't break the program"], by specifying a new<br>
abstract machine, which is<br>
more conservative than standard C/C++. The proper way to do that would,<br>
I believe, be to work towards setting up a working group within the<br>
relevant committees, and come up with a uniformly accepted definition<br>
for this abstract machine, which could then be implemented (assuming<br>
there is, indeed, wide enough agreement in the implementer community –<br>
something that does not look at all likely) by next-generation<br>
compilers.<br>
</blockquote>
<br>
     This work has already been done in Annex L of the C standard,<br>
which provides an optional stricter abstract machine.  As far as I<br>
know, no implementations have attempted to support Annex L yet.<br>
</blockquote>
Do you have a link to the relevant text?  I've never heard of this, and<br>
a quick google search doesn't turn up anything relevant. Wikipedia knows<br>
about a set of "analyzability features", but that doesn't sounds like<br>
what you're talking about?<br>
</blockquote>
<br></span>
     The relevant text is inside the standard, which is for sale.  The cheapest source I know about is this.<br>
<br>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__webstore.ansi.org_RecordDetail.aspx-3Fsku-3DINCITS-252fISO-252fIEC-2B9899-253a2011-255b2012-255d&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=EEV9RjJFALQT0wkwiV2vgu_j5FT6c2K-854Tnr-x36Q&s=pnSX_n_gZqNKynT-ztBDOz6jphcPDn1rqUmWa1jOWrQ&e=" rel="noreferrer" target="_blank">http://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2fISO%2fIEC+9899%3a2011%5b2012%5d</a></blockquote><div><br></div><div>"Final draft" is available at <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__www.open-2Dstd.org_jtc1_sc22_wg14_www_docs_n1570.pdf&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=EEV9RjJFALQT0wkwiV2vgu_j5FT6c2K-854Tnr-x36Q&s=W9xPMlgzOnjHhFJrtP3HcXQ_mN1uBfc5x2fjpzvS6EQ&e=">http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf</a></div><div><br></div><div>-- Sean Silva</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
<br>
     The title of Annex L is Analyzability, because that was the purpose, but the effect was to define a stricter abstract machine in which there were no unbounded undefined behaviors except what was absolutely necessary.  That does not address every question in the questionnaire, but it is a good start, and it has already been standardized so there is something concrete to implement.<div class=""><div class="h5"><br>
<br>
                                        David<br>
<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" rel="noreferrer" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br></div></div>