This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 115e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-11-11
[Voted into the WP at the February, 2012 meeting; moved to DR at the October, 2012 meeting.]
The requirements for constant expressions do not currently, but should, exclude expressions that have undefined behavior, such as pointer arithmetic when the pointers do not point to elements of the same array.
Proposed resolution (August, 2011):
Change 7.7 [expr.const] paragraph 2 as follows:
...
a result that is not mathematically defined or not in the
range of representable values for its type;
an operation that would have undefined behavior [Note: including, for example, signed integer overflow ( Clause 7 [expr]), certain pointer arithmetic (7.6.6 [expr.add]), division by zero (7.6.5 [expr.mul]), or certain shift operations (7.6.7 [expr.shift]) —end note];
...
a subtraction (7.6.6 [expr.add]) where both
operands are pointers;
...