Submitter: Batty
  Submission Date: 2011-10-14
  
   Source: WG 14
  Reference Document: N1584
  Version: 1.1
  Date: February 2012
  Subject: "happens before" can not be cyclic
Summary
C++11 forbids "happens before" from being cyclic, but this change has not made its way into C11. In order to fix this, the following sentence (taken from C++ N3291, 1.10p12) should be added to 5.1.2.4p18:
The implementation shall ensure that no program execution demonstrates a cycle in the "happens before" relation.
NOTE: This cycle would otherwise be possible only through the use of consume operations.
Suggested Technical Corrigendum
  See above.
Committee Discussion
Feb 2012 meeting
- Seems as if C++ made this change at the last minute and WG 14 had already voted a document for ballot.
 - There seems to be consensus to make a change along this line.
 
Proposed Technical Corrigendum
Add to 5.1.2.4p18:Previous Defect Report < - > Next Defect ReportThe implementation shall ensure that no program execution demonstrates a cycle in the "happens before" relation.
NOTE: This cycle would otherwise be possible only through the use of consume operations.