This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 115g. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-12-16
[Accepted as a DR at the November, 2023 meeting.]
(From editorial issue 6173.)
Subclause 7.6.9 [expr.rel] paragraph 4 and paragraph 5 specify:
The result of comparing unequal pointers to objects [ Footnote: ] is defined in terms of a partial order consistent with the following rules: ...
[Note 1: A relational operator applied to unequal function pointers or to unequal pointers to void yields an unspecified result. -- end note]
Comparing pointers to objects that are stored in a variable of type "pointer to void" should be fine.
Proposed resolution (approved by CWG 2023-06-16):
Change in 7.6.9 [expr.rel] paragraph 4 and paragraph 5 as follows:
The result of comparing unequal pointers to objects [ Footnote: ... ] is defined in terms of a partial order consistent with the following rules: ...
[Note 1: A relational operator applied to unequal function pointers
or to unequal pointers to voidyields an unspecified result. A pointer value of type "pointer to cv void" can point to an object (6.8.4 [basic.compound]). -- end note]