Skip to content

Commit 7d6f2cb

Browse files
authored
Merge 2023-06 LWG Motion 11
P2198R7 Freestanding Feature-Test Macros and Implementation-Defined Extensions
2 parents 4c79d59 + 3724bb0 commit 7d6f2cb

File tree

2 files changed

+142
-89
lines changed

2 files changed

+142
-89
lines changed

source/lib-intro.tex

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1470,6 +1470,33 @@
14701470
For each of the headers listed in \tref{headers.cpp.fs},
14711471
a freestanding implementation provides at least
14721472
the freestanding items\iref{freestanding.item} declared in the header.
1473+
1474+
\pnum
1475+
The \defnadj{hosted}{library facilities} are
1476+
the set of facilities described in this document
1477+
that are required for hosted implementations,
1478+
but not required for freestanding implementations.
1479+
A freestanding implementation provides
1480+
a (possibly empty) implementation-defined subset of
1481+
the hosted library facilities.
1482+
Unless otherwise specified, the requirements on
1483+
each declaration, entity, \grammarterm{typedef-name}, and macro
1484+
provided in this way are the same as
1485+
the corresponding requirements for a hosted implementation,
1486+
except that not all of the members of the namespaces are required to be present.
1487+
1488+
\pnum
1489+
A freestanding implementation provides
1490+
deleted definitions\iref{dcl.fct.def.delete} for
1491+
a (possibly empty) implementation-defined subset of
1492+
the namespace-scope functions and function templates
1493+
from the hosted library facilities.
1494+
\begin{note}
1495+
An implementation can provide a deleted definition
1496+
so that the result of overload resolution does not silently change
1497+
when migrating a program from a freestanding implementation to
1498+
a hosted implementation.
1499+
\end{note}
14731500
\indextext{implementation!freestanding|)}%
14741501

14751502
\rSec2[using]{Using the library}

0 commit comments

Comments
 (0)