Skip to content

UB and IFNDR Annex

Jens Maurer edited this page Apr 12, 2025 · 4 revisions

Editing process

Please post pull requests against the ub-ifndr branch of the Working Draft, and tag them with the label ub-ifndr.

Those pull requests will be merged into the main pull request for the Annex here: https://github.com/cplusplus/draft/pull/7826

In order to download a PDF of the Working Draft reflecting that pull request, go to https://github.com/cplusplus/draft/actions, choose a recent workflow run, and select "draft-snapshot" from the list of artifacts at the bottom.

Once this has stabilized, a P paper with the contents of the Annex will be generated, to be reviewed by CWG and approved by plenary.

Tags and labels

  • Use \ubdef or \ifndrdef in the main body of the text to identify undefined behavior / IFNDR.
  • Use \ubxref or \ifndrxref in the Annex to refer to the instance of undefined behavior in the main body.
  • By default, the label for an instance of UB/IFNDR should have as a prefix the subclause label where the UB/IFNDR is specified in the main body. It is understood that text occasionally moves around, so the "prefix" property might not be an invariant going forward. However, labels for UB/IFNDR are not visible in the rendered PDF (unlike subclause labels), so can be renamed at will.