CWG Issue 1311 (original) (raw)
This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 118e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2025-11-05
1311. Volatile lvalues in constant expressions
Section: 7.7 [expr.const]Status: CD3Submitter: Nikolay IvchenkovDate: 2011-05-06
[Voted into the WP at the February, 2012 meeting; moved to DR at the October, 2012 meeting.]
The current wording of 7.7 [expr.const] paragraph 2 does not, but should, prohibit use of volatile glvalues in constant expressions.
Proposed resolution (August, 2011):
Change 7.7 [expr.const] paragraph 2 as follows:
- an lvalue-to-rvalue conversion (7.3.2 [conv.lval]) unless it is applied to
- a non-volatile glvalue of integral or enumeration type that refers to a non-volatile const object with a preceding initialization, initialized with a constant expression, or
- a non-volatile glvalue of literal type that refers to a non-volatile object defined with constexpr, or that refers to a sub-object of such an object, or
- a non-volatile glvalue of literal type that refers to a non-volatile temporary object whose lifetime has not ended, initialized with a constant expression;