Files
Nikita Popov d28eeaa997 [LangRef] Make volatile loads non-willreturn (#192992)
We currently define that volatile stores are not willreturn (i.e. they
may trap). However, volatile loads are willreturn.

I think that we should align these semantics to say that volatile
operations are always non-willreturn. There's two motivations for this:

* N3128 (part of C23) clarifies the intended meaning of "undefined
behavior" to not allow backwards propagation of UB across certain
observable side-effects, including all volatile operations. This only
made it into the standard as a non-normative note, so complying with
this is not *strictly* necessary for conformance. However, I don't think
there is a strong reason not to follow the recommendation.
* This gives a well-defined (if not very ergonomic) way to interact with
potentially trapping memory.
2026-04-23 14:30:50 +02:00
..