Skip to content

Commit d26d3bd

Browse files
jensmaurerzygoloid
authored andcommitted
[std] Fix cross-references pointing to entire clauses now that we have 'preamble' sections.
1 parent f426cfb commit d26d3bd

File tree

10 files changed

+51
-51
lines changed

10 files changed

+51
-51
lines changed

source/basic.tex

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,10 @@
108108
declaration specifies the interpretation and semantic properties of these names.
109109
A declaration may also have effects including:
110110
\begin{itemize}
111-
\item a static assertion\iref{dcl.dcl},
111+
\item a static assertion\iref{dcl.pre},
112112
\item controlling template instantiation\iref{temp.explicit},
113113
\item guiding template argument deduction for constructors\iref{temp.deduct.guide},
114-
\item use of attributes\iref{dcl.dcl}, and
114+
\item use of attributes\iref{dcl.attr}, and
115115
\item nothing (in the case of an \grammarterm{empty-declaration}).
116116
\end{itemize}
117117

@@ -172,19 +172,19 @@
172172
\item it is
173173
a \grammarterm{deduction-guide}\iref{temp.deduct.guide},
174174
\item it is
175-
a \grammarterm{static_assert-declaration}\iref{dcl.dcl},
175+
a \grammarterm{static_assert-declaration}\iref{dcl.pre},
176176
\item
177177
it is an
178-
\grammarterm{attribute-declaration}\iref{dcl.dcl},
178+
\grammarterm{attribute-declaration}\iref{dcl.pre},
179179
\item
180180
it is an
181-
\grammarterm{empty-declaration}\iref{dcl.dcl},
181+
\grammarterm{empty-declaration}\iref{dcl.pre},
182182
\item it is
183183
a \grammarterm{using-directive}\iref{namespace.udir},
184184
\item it is
185185
a \grammarterm{using-enum-declaration}\iref{enum.udecl},
186186
\item it is
187-
a \grammarterm{template-declaration}\iref{temp}
187+
a \grammarterm{template-declaration}\iref{temp.pre}
188188
whose \grammarterm{template-head} is not followed by
189189
either a \grammarterm{concept-definition} or a \grammarterm{declaration}
190190
that defines a function, a class, a variable, or a static data member.
@@ -241,7 +241,7 @@
241241
#include <string>
242242

243243
struct C {
244-
std::string s; // \tcode{std::string} is the standard library class\iref{strings}
244+
std::string s; // \tcode{std::string} is the standard library class\iref{string.classes}
245245
};
246246

247247
int main() {
@@ -438,7 +438,7 @@
438438
invoked\iref{class.dtor}.
439439

440440
\pnum
441-
A local entity\iref{basic}
441+
A local entity\iref{basic.pre}
442442
is \defn{odr-usable} in a declarative region\iref{basic.scope.declarative} if:
443443
\begin{itemize}
444444
\item either the local entity is not \tcode{*this}, or
@@ -792,7 +792,7 @@
792792
\begin{note}
793793
A structured binding\iref{dcl.struct.bind},
794794
namespace name\iref{basic.namespace}, or
795-
class template name\iref{temp}
795+
class template name\iref{temp.pre}
796796
must be unique in its declarative region.
797797
\end{note}
798798
\end{itemize}
@@ -858,7 +858,7 @@
858858
\pnum
859859
The point of declaration for a class or class template first declared by a
860860
\grammarterm{class-specifier} is immediately after the \grammarterm{identifier} or
861-
\grammarterm{simple-template-id} (if any) in its \grammarterm{class-head}\iref{class}.
861+
\grammarterm{simple-template-id} (if any) in its \grammarterm{class-head}\iref{class.pre}.
862862
The point of declaration for an enumeration is
863863
immediately after the \grammarterm{identifier} (if any) in either its
864864
\grammarterm{enum-specifier}\iref{dcl.enum} or its first
@@ -934,7 +934,7 @@
934934

935935
\pnum
936936
The point of declaration for an
937-
injected-class-name\iref{class} is immediately following
937+
injected-class-name\iref{class.pre} is immediately following
938938
the opening brace of the class definition.
939939

940940
\pnum
@@ -1384,7 +1384,7 @@
13841384
in the scope where the expression is found.
13851385

13861386
\pnum
1387-
The injected-class-name of a class\iref{class} is also
1387+
The injected-class-name of a class\iref{class.pre} is also
13881388
considered to be a member of that class for the purposes of name hiding
13891389
and lookup.
13901390

@@ -1729,7 +1729,7 @@
17291729
\end{example}
17301730

17311731
\pnum
1732-
A name used in the handler for a \grammarterm{function-try-block}\iref{except}
1732+
A name used in the handler for a \grammarterm{function-try-block}\iref{except.pre}
17331733
is looked up as if the name was used in the
17341734
outermost block of the function definition. In particular, the function
17351735
parameter names shall not be redeclared in the
@@ -2122,7 +2122,7 @@
21222122
and the \grammarterm{nested-name-specifier} nominates a class \tcode{C}:
21232123
\begin{itemize}
21242124
\item if the name specified after the \grammarterm{nested-name-specifier},
2125-
when looked up in \tcode{C}, is the injected-class-name of \tcode{C}\iref{class}, or
2125+
when looked up in \tcode{C}, is the injected-class-name of \tcode{C}\iref{class.pre}, or
21262126
\item
21272127
in a \grammarterm{using-declarator} of
21282128
a \grammarterm{using-declaration}\iref{namespace.udecl} that is a \grammarterm{member-declaration},
@@ -2596,7 +2596,7 @@
25962596

25972597
\pnum
25982598
\indextext{program}%
2599-
A \defn{program} consists of one or more translation units\iref{lex}
2599+
A \defn{program} consists of one or more translation units\iref{lex.separate}
26002600
linked together. A translation unit consists
26012601
of a sequence of declarations.
26022602

@@ -2692,7 +2692,7 @@
26922692
\item a variable; or
26932693
\item a function; or
26942694
\item \indextext{class!linkage of}%
2695-
a named class\iref{class}, or an unnamed class defined in a
2695+
a named class\iref{class.pre}, or an unnamed class defined in a
26962696
typedef declaration in which the class has the typedef name for linkage
26972697
purposes\iref{dcl.typedef}; or
26982698
\item \indextext{enumeration!linkage of}%
@@ -2795,7 +2795,7 @@
27952795
linkage.
27962796

27972797
\pnum
2798-
Two names that are the same\iref{basic} and that are declared
2798+
Two names that are the same\iref{basic.pre} and that are declared
27992799
in different scopes shall denote the same variable, function,
28002800
type, template or namespace if
28012801
\begin{itemize}
@@ -2970,7 +2970,7 @@
29702970
\end{note}
29712971
The properties of an
29722972
object are determined when the object is created. An object can have a
2973-
name\iref{basic}. An object has a storage
2973+
name\iref{basic.pre}. An object has a storage
29742974
duration\iref{basic.stc} which influences its
29752975
lifetime\iref{basic.life}. An object has a
29762976
type\iref{basic.types}.

source/classes.tex

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@
560560
\end{itemize}
561561
\begin{note}
562562
A single name can denote several member functions provided their types
563-
are sufficiently different\iref{over}.
563+
are sufficiently different\iref{over.load}.
564564
\end{note}
565565

566566
\pnum
@@ -1234,7 +1234,7 @@
12341234
\grammarterm{member-specification} of a class or class template
12351235
but is not a friend
12361236
declaration\iref{class.friend}, the \grammarterm{id-expression} is the
1237-
injected-class-name\iref{class} of the immediately-enclosing entity or
1237+
injected-class-name\iref{class.pre} of the immediately-enclosing entity or
12381238

12391239
\item
12401240
in a declaration at namespace scope or in a friend declaration, the
@@ -2110,7 +2110,7 @@
21102110
but is not a friend
21112111
declaration\iref{class.friend}, the \grammarterm{id-expression} is
21122112
\tcode{\~}\grammarterm{class-name} and the \grammarterm{class-name} is the
2113-
injected-class-name\iref{class} of the immediately-enclosing entity or
2113+
injected-class-name\iref{class.pre} of the immediately-enclosing entity or
21142114

21152115
\item
21162116
in a declaration at namespace scope or in a friend declaration, the
@@ -5119,7 +5119,7 @@
51195119
\begin{note}
51205120
A friend declaration may be the
51215121
\grammarterm{declaration} in a \grammarterm{template-declaration}
5122-
(\ref{temp}, \ref{temp.friend}).
5122+
(\ref{temp.pre}, \ref{temp.friend}).
51235123
\end{note}
51245124
If the
51255125
type specifier in a \tcode{friend} declaration designates a (possibly
@@ -6482,7 +6482,7 @@
64826482
the execution of a constructor and destructor for the parameter copy object
64836483

64846484
\item when the \grammarterm{exception-declaration} of an
6485-
exception handler\iref{except} declares an object of the same
6485+
exception handler\iref{except.pre} declares an object of the same
64866486
type (except for cv-qualification) as the exception
64876487
object\iref{except.throw}, the copy operation can be omitted by treating
64886488
the \grammarterm{exception-declaration} as an alias for the exception

source/declarations.tex

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484
\grammarterm{linkage-specification}{s} are described in~\ref{dcl.link};
8585
\grammarterm{function-definition}{s} are described in~\ref{dcl.fct.def} and
8686
\grammarterm{template-declaration}{s} and
87-
\grammarterm{deduction-guide}{s} are described in \ref{temp};
87+
\grammarterm{deduction-guide}{s} are described in \ref{temp.deduct.guide};
8888
\grammarterm{namespace-definition}{s} are described in~\ref{namespace.def},
8989
\grammarterm{using-declaration}{s} are described in~\ref{namespace.udecl} and
9090
\grammarterm{using-directive}{s} are described in~\ref{namespace.udir}.
@@ -237,7 +237,7 @@
237237
constructor, destructor, or conversion function.
238238
\begin{note}
239239
A \grammarterm{nodeclspec-function-declaration} can only be used in a
240-
\grammarterm{template-declaration}\iref{temp},
240+
\grammarterm{template-declaration}\iref{temp.pre},
241241
\grammarterm{explicit-instantiation}\iref{temp.explicit}, or
242242
\grammarterm{explicit-specialization}\iref{temp.expl.spec}.
243243
\end{note}
@@ -571,7 +571,7 @@
571571
\grammarterm{typedef-name}.
572572
A \grammarterm{typedef-name} names
573573
the type associated with the \grammarterm{identifier}\iref{dcl.decl}
574-
or \grammarterm{simple-template-id}\iref{temp};
574+
or \grammarterm{simple-template-id}\iref{temp.pre};
575575
\indextext{declaration!typedef@\tcode{typedef} as type}%
576576
\indextext{equivalence!type}%
577577
\indextext{synonym!type name as}%
@@ -2011,7 +2011,7 @@
20112011
\pnum
20122012
For a \grammarterm{placeholder-type-specifier}
20132013
with a \grammarterm{type-constraint},
2014-
the immediately-declared constraint\iref{temp}
2014+
the immediately-declared constraint\iref{temp.pre}
20152015
of the \grammarterm{type-constraint} for the type deduced for the placeholder
20162016
shall be satisfied.
20172017

@@ -2171,7 +2171,7 @@
21712171
\end{note}
21722172

21732173
\pnum
2174-
The optional \grammarterm{requires-clause}\iref{temp} in an
2174+
The optional \grammarterm{requires-clause}\iref{temp.pre} in an
21752175
\grammarterm{init-declarator} or \grammarterm{member-declarator}
21762176
shall be present only if the declarator declares a
21772177
templated function\iref{dcl.fct}.
@@ -7221,7 +7221,7 @@
72217221
\pnum
72227222
A declaration in a namespace \tcode{N} (excluding declarations in nested scopes)
72237223
whose \grammarterm{declarator-id} is an \grammarterm{unqualified-id}\iref{dcl.meaning},
7224-
whose \grammarterm{class-head-name}\iref{class} or
7224+
whose \grammarterm{class-head-name}\iref{class.pre} or
72257225
\grammarterm{enum-head-name}\iref{dcl.enum} is an \grammarterm{identifier}, or
72267226
whose \grammarterm{elaborated-type-specifier} is of the form \grammarterm{class-key}
72277227
\opt{\grammarterm{attribute-specifier-seq}} \grammarterm{identifier}\iref{dcl.type.elab}, or

source/exceptions.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
\indextext{exception handling!handler}%
5959
\indextext{try block|see{exception handling, try block}}%
6060
\indextext{handler|see{exception handling, handler}}%
61-
A \grammarterm{try-block} is a \grammarterm{statement}\iref{stmt.stmt}.
61+
A \grammarterm{try-block} is a \grammarterm{statement}\iref{stmt.pre}.
6262
\begin{note}
6363
Within this Clause
6464
``try block'' is taken to mean both \grammarterm{try-block} and

source/expressions.tex

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1737,7 +1737,7 @@
17371737
\begin{note}
17381738
The function call operator or operator template may be constrained\iref{temp.constr.decl}
17391739
by a \grammarterm{type-constraint}\iref{temp.param},
1740-
a \grammarterm{requires-clause}\iref{temp},
1740+
a \grammarterm{requires-clause}\iref{temp.pre},
17411741
or a trailing \grammarterm{requires-clause}\iref{dcl.decl}.
17421742
\begin{example}
17431743
\begin{codeblock}
@@ -2522,7 +2522,7 @@
25222522
};
25232523
\end{codeblock}
25242524
A \grammarterm{requires-expression} can also be used in a
2525-
\grammarterm{requires-clause}\iref{temp} as a way of writing ad hoc
2525+
\grammarterm{requires-clause}\iref{temp.pre} as a way of writing ad hoc
25262526
constraints on template arguments such as the one below:
25272527
\begin{codeblock}
25282528
template<typename T>
@@ -2685,7 +2685,7 @@
26852685
into the \grammarterm{return-type-requirement} is performed.
26862686

26872687
\item
2688-
The immediately-declared constraint\iref{temp}
2688+
The immediately-declared constraint\iref{temp.pre}
26892689
of the \grammarterm{type-constraint} for \tcode{decltype((E))}
26902690
shall be satisfied.
26912691
\begin{example}
@@ -2992,7 +2992,7 @@
29922992
checked at the point of call in the calling function. If a constructor
29932993
or destructor for a function parameter throws an exception, the search
29942994
for a handler starts in the scope of the calling function; in
2995-
particular, if the function called has a \grammarterm{function-try-block}\iref{except}
2995+
particular, if the function called has a \grammarterm{function-try-block}\iref{except.pre}
29962996
with a handler that could handle the exception,
29972997
this handler is not considered.
29982998
\end{example}
@@ -4339,7 +4339,7 @@
43394339
\pnum
43404340
An \grammarterm{await-expression} shall appear only in a potentially-evaluated
43414341
expression within the \grammarterm{compound-statement} of a
4342-
\grammarterm{function-body} outside of a \grammarterm{handler}\iref{except}.
4342+
\grammarterm{function-body} outside of a \grammarterm{handler}\iref{except.pre}.
43434343
In a \grammarterm{declaration-statement} or in the
43444344
\grammarterm{simple-declaration} (if any)
43454345
of a \grammarterm{for-init-statement}, an \grammarterm{await-expression}

source/lib-intro.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,7 @@
608608
\begin{example}
609609
An implementation might express such a condition
610610
via the \grammarterm{constant-expression}
611-
in a \grammarterm{static_assert-declaration}\iref{dcl.dcl}.
611+
in a \grammarterm{static_assert-declaration}\iref{dcl.pre}.
612612
If the diagnostic is to be emitted only after the function
613613
has been selected by overload resolution,
614614
an implementation might express such a condition
@@ -1550,7 +1550,7 @@
15501550
\indextext{source file}
15511551

15521552
\pnum
1553-
A translation unit may include library headers in any order\iref{lex}.
1553+
A translation unit may include library headers in any order\iref{lex.separate}.
15541554
\indextext{unit!translation}%
15551555
Each may be included more than once, with no effect different from
15561556
being included exactly once, except that the effect of including either

source/overloading.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3393,9 +3393,9 @@
33933393
\terminal{. .* :: ?:}
33943394
\end{ncsimplebnf}
33953395
nor can the preprocessing symbols
3396-
\tcode{\#}
3396+
\tcode{\#}\iref{cpp.stringize}
33973397
and
3398-
\tcode{\#\#}\iref{cpp}.
3398+
\tcode{\#\#}\iref{cpp.concat}.
33993399

34003400
\pnum
34013401
\indextext{call!operator function}%

source/statements.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@
283283
converted condition is \tcode{false}, the first substatement is a
284284
\defn{discarded statement}, otherwise the second substatement, if
285285
present, is a discarded statement. During the instantiation of an
286-
enclosing templated entity\iref{temp}, if the condition is
286+
enclosing templated entity\iref{temp.pre}, if the condition is
287287
not value-dependent after its instantiation, the discarded substatement
288288
(if any) is not instantiated.
289289
\begin{note}

0 commit comments

Comments
 (0)