Proposed resolution (January, 2016): Change 7.2.1 [basic.lval] paragraph 4 as follows:
Unless otherwise indicated (7.6.1.3 [expr.call]),
prvalues a prvalue shall always have
complete types type or
the void type; in addition to these types, glvalues
can also have incomplete types. A glvalue shall not
have type cv void . [Note: class
A glvalue may have complete or incomplete
non- void type. Class and array prvalues can
have cv-qualified types; other prvalues always have
cv-unqualified types. See
Clause 7 [expr]. —end note]
[Adopted at the February, 2016 meeting.] According to 7.2.1 [basic.lval] paragraph 4, This wording inadvertently implies that glvalues can have
type void , which is not correct.
Unless otherwise indicated (7.6.1.3 [expr.call]),
prvalues shall always have complete types or
the void type; in addition to these types, glvalues
can also have incomplete types.