Reference (section label): [conv.lval]
Issue description:
CWG2822 disambiguated that pointer values don't get replaced with invalid pointer values, but merely become invalid in the context of evaluations not inside the duration of their referenced region of storage. However, /3.3 still uses "invalid pointer value" (with a strange cross reference).
Suggested resolution:
Use the valid-in-context wording, or else just strike the bullet assuming that any lvalue-to-rvalue transformation takes place only when the result is used in an evaluation, triggering the rule in [basic.compound].
Reference (section label): [conv.lval]
Issue description:
CWG2822 disambiguated that pointer values don't get replaced with invalid pointer values, but merely become invalid in the context of evaluations not inside the duration of their referenced region of storage. However, /3.3 still uses "invalid pointer value" (with a strange cross reference).
Suggested resolution:
Use the valid-in-context wording, or else just strike the bullet assuming that any lvalue-to-rvalue transformation takes place only when the result is used in an evaluation, triggering the rule in [basic.compound].