[PATCH] D13137: Do not remove calls to functions that may not halt

Oliver Stannard via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 5 02:58:24 PDT 2015


olista01 abandoned this revision.
olista01 added a comment.

Ah, sorry, I hadn't found that llvm-dev thread, I'll drop this patch.

Out of interest, do you have a section reference for C99 or C++03 for non-termination without side-effects being UB? C++11 has 1.10/24, and C11 has 6.8.5/6, both of which makes this explicit, but the closest I can find in the older standards is this:

> The least requirements on a conforming implementation are:

> 

> - At sequence points, volatile objects are stable in the sense that previous evaluations are complete and subsequent evaluations have not yet occurred.

> - At program termination, all data written into files shall be identical to one of the possible results that execution of the program according to the abstract semantics would have produced.

> - The input and output dynamics of interactive devices shall take place in such a fashion that prompting messages actually appear prior to a program waiting for input. What constitutes an interactive device is implementation-defined.



http://reviews.llvm.org/D13137





More information about the llvm-commits mailing list