Title
Which variables are “explicitly declared const?”
Status
cd4
Section
6.6 [basic.link]
Submitter
Daniel Krügler

Created on 2013-05-17.00:00:00 last changed 94 months ago

Messages

Date: 2014-11-15.00:00:00

[Moved to DR at the November, 2014 meeting.]

Date: 2013-09-15.00:00:00

Proposed resolution (September, 2013):

Change the second bullet of 6.6 [basic.link] paragraph 3 as follows:

  • a non-volatile variable that is explicitly declared const or constexpr and of non-volatile const-qualified type that is neither explicitly declared extern nor previously declared to have external linkage; or

Date: 2013-05-17.00:00:00

According to 6.6 [basic.link] paragraph 3,

A name having namespace scope (6.4.6 [basic.scope.namespace]) has internal linkage if it is the name of

  • ...

  • a non-volatile variable that is explicitly declared const or constexpr and neither explicitly declared extern nor previously declared to have external linkage; or

  • ...

It would be more precise and less confusing if the phrase “explicitly declared const” were replaced by saying that its type is const-qualified. This change would also allow removal of the reference to constexpr, which was added by issue 1112 because constexpr variables are implicitly const-qualified but not covered by the “explicitly declared” phrasing.

History
Date User Action Args
2017-02-06 00:00:00adminsetstatus: drwp -> cd4
2015-05-25 00:00:00adminsetstatus: dr -> drwp
2015-04-13 00:00:00adminsetmessages: + msg5330
2014-11-24 00:00:00adminsetstatus: ready -> dr
2014-03-03 00:00:00adminsetstatus: review -> ready
2013-10-14 00:00:00adminsetmessages: + msg4607
2013-10-14 00:00:00adminsetstatus: open -> review
2013-05-17 00:00:00admincreate