Skip to content

Commit f2af872

Browse files
committed
[basic.pre] Split names and entities into its own subclause
All the normative text in [basic.pre] specifies the notions of names and entities, so introduce an appropriately named subclause after the introductory material.
1 parent 002e978 commit f2af872

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

source/basic.tex

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
Clauses.
3232
\end{note}
3333

34+
\rSec1[basic.name]{Names and entities}
35+
3436
\pnum
3537
A \defn{name} is an \grammarterm{identifier}\iref{lex.name},
3638
\grammarterm{conversion-function-id}\iref{class.conv.fct},
@@ -171,7 +173,7 @@
171173
\indextext{declaration!definition versus}%
172174
\indextext{declaration}%
173175
\indextext{declaration!name}%
174-
A declaration\iref{basic.pre} may (re)introduce
176+
A declaration\iref{basic.name} may (re)introduce
175177
one or more names and/or entities into a translation
176178
unit.
177179
If so, the
@@ -377,7 +379,7 @@
377379
\item a class type\iref{class},
378380
\item an enumeration type\iref{dcl.enum},
379381
\item a function\iref{dcl.fct},
380-
\item a variable\iref{basic.pre},
382+
\item a variable\iref{basic.name},
381383
\item a templated entity\iref{temp.pre},
382384
\item a default argument for a parameter
383385
(for a function in a given scope)\iref{dcl.fct.default}, or
@@ -587,7 +589,7 @@
587589
invoked\iref{class.dtor}.
588590

589591
\pnum
590-
A local entity\iref{basic.pre}
592+
A local entity\iref{basic.name}
591593
is \defn{odr-usable} in a scope\iref{basic.scope.scope} if
592594
\begin{itemize}
593595
\item either the local entity is not \tcode{*\keyword{this}}, or
@@ -1248,7 +1250,7 @@
12481250

12491251
\pnum
12501252
\indextext{declaration!locus|see{locus}}%
1251-
The \defn{locus} of a declaration\iref{basic.pre} that is a declarator
1253+
The \defn{locus} of a declaration\iref{basic.name} that is a declarator
12521254
is immediately after the complete declarator\iref{dcl.decl}.
12531255
\begin{example}
12541256
\begin{codeblock}
@@ -1716,7 +1718,7 @@
17161718
A \defnadj{single}{search} in a scope $S$
17171719
for a name $N$ from a program point $P$
17181720
finds all declarations that precede $P$
1719-
to which any name that is the same as $N$\iref{basic.pre} is bound in $S$.
1721+
to which any name that is the same as $N$\iref{basic.name} is bound in $S$.
17201722
If any such declaration is a \grammarterm{using-declarator}
17211723
whose terminal name\iref{expr.prim.id.unqual}
17221724
is not dependent\iref{temp.dep.type},
@@ -2839,7 +2841,7 @@
28392841
whose converted \grammarterm{constant-expression} represents
28402842
a construct $X$ is said to \defn{designate} either
28412843
\begin{itemize}
2842-
\item the underlying entity of $X$ if $X$ is an entity\iref{basic.pre}, or
2844+
\item the underlying entity of $X$ if $X$ is an entity\iref{basic.name}, or
28432845
\item $X$ otherwise.
28442846
\end{itemize}
28452847
\begin{note}
@@ -3459,7 +3461,7 @@
34593461
\end{note}
34603462
The properties of an
34613463
object are determined when the object is created. An object can have a
3462-
name\iref{basic.pre}. An object has a storage
3464+
name\iref{basic.name}. An object has a storage
34633465
duration\iref{basic.stc} which influences its
34643466
lifetime\iref{basic.life}. An object has a
34653467
type\iref{basic.types}.
@@ -5669,7 +5671,7 @@
56695671
\begin{itemize}
56705672
\item a value of scalar type\iref{temp.param},
56715673
\item an object with static storage duration\iref{basic.stc},
5672-
\item a variable\iref{basic.pre},
5674+
\item a variable\iref{basic.name},
56735675
\item a structured binding\iref{dcl.struct.bind},
56745676
\item a function\iref{dcl.fct},
56755677
\item a function parameter,

source/expressions.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1581,7 +1581,7 @@
15811581
appears in a \grammarterm{lambda-expression}
15821582
at program point $P$,
15831583
\item
1584-
the entity is a local entity\iref{basic.pre}
1584+
the entity is a local entity\iref{basic.name}
15851585
or a variable declared by an \grammarterm{init-capture}\iref{expr.prim.lambda.capture},
15861586
\item
15871587
naming the entity within the \grammarterm{compound-statement} of
@@ -2748,7 +2748,7 @@
27482748

27492749
\pnum
27502750
The \grammarterm{identifier} in a \grammarterm{simple-capture}
2751-
shall denote a local entity\iref{basic.lookup.unqual,basic.pre}.
2751+
shall denote a local entity\iref{basic.lookup.unqual,basic.name}.
27522752
The \grammarterm{simple-capture}{s} \keyword{this} and \tcode{* \keyword{this}}
27532753
denote the local entity \tcode{*\keyword{this}}.
27542754
An entity that is designated by a
@@ -3573,7 +3573,7 @@
35733573
\item
35743574
an unnamed bit-field, or
35753575
\item
3576-
a local entity\iref{basic.pre} such that
3576+
a local entity\iref{basic.name} such that
35773577
\begin{itemize}
35783578
\item
35793579
there is a lambda scope that intervenes
@@ -6837,7 +6837,7 @@
68376837
a local parameter introduced by
68386838
a \grammarterm{requires-expression}\iref{expr.prim.req}, or
68396839
\item
6840-
a local entity $E$\iref{basic.pre} for which a lambda scope intervenes
6840+
a local entity $E$\iref{basic.name} for which a lambda scope intervenes
68416841
between the point at which $E$ was introduced and $R$,
68426842
\end{itemize}
68436843
then $R$ is ill-formed.

0 commit comments

Comments
 (0)