Skip to content

Commit 78534e3

Browse files
jensmaurerzygoloid
authored andcommitted
[std] Improve index for 'freestanding/hosted implementation'.
1 parent 13b9047 commit 78534e3

File tree

5 files changed

+18
-8
lines changed

5 files changed

+18
-8
lines changed

source/atomics.tex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,7 @@
348348
whose template arguments are integral types, respectively signed and unsigned,
349349
and whose \tcode{is_always_lock_free} property is \tcode{true}.
350350
\begin{note}
351+
\indextext{implementation!freestanding}%
351352
These aliases are optional in freestanding implementations\iref{compliance}.
352353
\end{note}
353354
Implementations should choose for these aliases
@@ -620,6 +621,7 @@
620621
for the corresponding unsigned type\iref{basic.fundamental},
621622
is always lock-free.
622623
\begin{note}
624+
\indextext{implementation!freestanding}%
623625
This requirement is optional in freestanding implementations\iref{compliance}.
624626
\end{note}
625627

source/basic.tex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5792,6 +5792,7 @@
57925792
example, allow executions inconsistent with a simple interleaving, as described
57935793
below.
57945794
\end{note}
5795+
\indextext{implementation!freestanding}%
57955796
Under a freestanding implementation, it is \impldef{number of
57965797
threads in a program under a freestanding implementation} whether a program can
57975798
have more than one thread of execution.
@@ -6416,6 +6417,7 @@
64166417
in which the \tcode{main} function is invoked,
64176418
and in which variables of static storage duration
64186419
might be initialized\iref{basic.start.static} and destroyed\iref{basic.start.term}.
6420+
\indextext{implementation!freestanding}%
64196421
It is \impldef{defining \tcode{main} in freestanding environment}
64206422
whether a program in a freestanding environment is required to define a \tcode{main}
64216423
function.

source/intro.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -769,8 +769,8 @@
769769
\indextext{conformance requirements!library|)}
770770

771771
\pnum
772-
Two kinds of implementations are defined: a \defn{hosted implementation} and a
773-
\defn{freestanding implementation}. For a hosted implementation, this
772+
Two kinds of implementations are defined: a \defnadj{hosted}{implementation} and a
773+
\defnadj{freestanding}{implementation}. For a hosted implementation, this
774774
document defines the set of available libraries. A freestanding
775775
implementation is one in which execution may take place without the benefit of
776776
an operating system, and has an \impldef{required libraries for freestanding

source/lib-intro.tex

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1170,19 +1170,19 @@
11701170
\end{multicolfloattable}
11711171

11721172
\rSec3[compliance]{Freestanding implementations}
1173+
\indextext{implementation!freestanding|(}%
11731174

11741175
\pnum
11751176
Two kinds of implementations are defined:
1176-
\defnx{hosted}{implementation!hosted}
1177-
and
1178-
\defnx{freestanding}{implementation!freestanding}\iref{intro.compliance};
1177+
\indextext{implementation!hosted}%
1178+
hosted and freestanding\iref{intro.compliance};
11791179
the kind of the implementation is
11801180
\impldef{whether the implementation is hosted or freestanding}.
11811181
For a hosted implementation, this document
11821182
describes the set of available headers.
11831183

11841184
\pnum
1185-
A freestanding implementation\indextext{implementation!freestanding} has an
1185+
A freestanding implementation has an
11861186
\impldef{headers for freestanding implementation} set of headers. This set shall
11871187
include at least the headers shown in \tref{headers.cpp.fs}.
11881188

@@ -1220,6 +1220,7 @@
12201220
and
12211221
\indexlibraryglobal{quick_exit}%
12221222
\tcode{quick_exit}\iref{support.start.term}.
1223+
\indextext{implementation!hosted}%
12231224
The supplied version of the header \libheaderrefx{atomic}{atomics.syn}
12241225
shall meet the same requirements as for a hosted implementation
12251226
except that support for
@@ -1232,6 +1233,7 @@
12321233
\tcode{atomic_unsigned_lock_free} in freestanding environments}.
12331234
The other headers listed in this table
12341235
shall meet the same requirements as for a hosted implementation.
1236+
\indextext{implementation!freestanding|)}%
12351237

12361238
\rSec2[using]{Using the library}
12371239

source/preprocessor.tex

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1671,9 +1671,13 @@
16711671

16721672
\item
16731673
\indextext{__stdc_hosted__@\mname{STDC_HOSTED}}%
1674+
\indextext{implementation!hosted}%
1675+
\indextext{implementation!freestanding}%
16741676
\mname{STDC_HOSTED}\\
1675-
The integer literal \tcode{1} if the implementation is a hosted
1676-
implementation or the integer literal \tcode{0} if it is not.
1677+
The integer literal \tcode{1}
1678+
if the implementation is a hosted implementation or
1679+
the integer literal \tcode{0}
1680+
if it is a freestanding implementation\iref{intro.compliance}.
16771681

16781682
\item
16791683
\indextext{__stdcpp_default_new_alignment__@\mname{STDCPP_DEFAULT_NEW_ALIGNMENT}}%

0 commit comments

Comments
 (0)