Section: 19.3 [assertions] Status: C++17 Submitter: Tim Song Opened: 2015-11-07 Last modified: 2017-07-30
Priority: 0
View all other issues in [assertions].
View all issues with C++17 status.
Discussion:
The resolution of LWG 2234 says that assert(E)
is a constant subexpression if "NDEBUG
is defined
at the point where assert(E)
appears".
[2016-02, Issues Telecon]
P0; move to Tentatively Ready.
Proposed resolution:
This wording is relative to N4567.
Change 19.3 [assertions] p2 as indicated:
An expression
assert(E)
is a constant subexpression (3.14 [defns.const.subexpr]), if
NDEBUG
is defined at the point whereassert(E)
appearsassert
is last defined or redefined, or[…]