This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 112e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
According to 6.9.2 [intro.multithread] paragraph 24,
The implementation may assume that any thread will eventually do one of the following:
make a call to a library I/O function,
access or modify a volatile object, or
perform a synchronization operation or an atomic operation.
[Note: This is intended to allow compiler transformations such as removal of empty loops, even when termination cannot be proven. —end note]
Some programmers find this liberty afforded to implementations to be disadvantageous; see this blog post for a discussion of the subject.
Rationale (October, 2015)
SG1 reaffirms the original intent of this specification.