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


2122. Glvalues of void type

Section: 7.2.1  [basic.lval]     Status: CD4     Submitter: CWG     Date: 2015-05-05

[Adopted at the February, 2016 meeting.]

According to 7.2.1 [basic.lval] paragraph 4,

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.

This wording inadvertently implies that glvalues can have type void, which is not correct.

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]