Skip to content

Commit c0b451c

Browse files
committed
[basic] Avoid "shall" in notes and description of program behavior
1 parent 721d01c commit c0b451c

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

source/basic.tex

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3607,11 +3607,11 @@
36073607
\indextext{most derived object!bit-field}%
36083608
Unless it is a bit-field\iref{class.bit},
36093609
an object with nonzero size
3610-
shall occupy one or more bytes of storage,
3610+
occupies one or more bytes of storage,
36113611
including every byte that is occupied in full or in part
36123612
by any of its subobjects.
36133613
An object of trivially copyable or
3614-
standard-layout type\iref{basic.types.general} shall occupy contiguous bytes of
3614+
standard-layout type\iref{basic.types.general} occupies contiguous bytes of
36153615
storage.
36163616

36173617
\pnum
@@ -3812,7 +3812,7 @@
38123812
expression for the fundamental types plus an additional \impldef{alignment additional
38133813
values}
38143814
set of values, which may be empty.
3815-
Every alignment value shall be a non-negative integral power of two.
3815+
Every alignment value is a non-negative integral power of two.
38163816

38173817
\pnum
38183818
Alignments have an order from \defnx{weaker}{alignment!weaker} to
@@ -3823,7 +3823,7 @@
38233823
\pnum
38243824
The alignment requirement of a complete type can be queried using an
38253825
\keyword{alignof} expression\iref{expr.alignof}. Furthermore,
3826-
the narrow character types\iref{basic.fundamental} shall have the weakest
3826+
the narrow character types\iref{basic.fundamental} have the weakest
38273827
alignment requirement.
38283828
\begin{note}
38293829
This enables the ordinary character types to be used as the
@@ -4336,7 +4336,7 @@
43364336

43374337
\pnum
43384338
If a variable with static storage duration has initialization or a
4339-
destructor with side effects, it shall not be eliminated even if it
4339+
destructor with side effects, an implementation shall not eliminate it even if it
43404340
appears to be unused, except that a class object or its copy/move may be
43414341
eliminated as specified in~\ref{class.copy.elision}.
43424342

@@ -4526,7 +4526,7 @@
45264526
For an allocation function other than
45274527
a reserved placement allocation function\iref{new.delete.placement},
45284528
the pointer returned on a successful call
4529-
shall represent the address of storage that is aligned as follows:
4529+
represents the address of storage that is aligned as follows:
45304530
\begin{itemize}
45314531
\item
45324532
If the allocation function takes an argument
@@ -4644,7 +4644,7 @@
46444644
\pnum
46454645
If the argument given to a deallocation function in the standard library
46464646
is a pointer that is not the null pointer value\iref{basic.compound}, the
4647-
deallocation function shall deallocate the storage referenced by the
4647+
deallocation function deallocates the storage referenced by the
46484648
pointer, ending the duration of the region of storage.
46494649

46504650
\rSec2[class.temporary]{Temporary objects}
@@ -4980,21 +4980,21 @@
49804980
ends at the same point,
49814981
these temporaries are destroyed at that point in the reverse order of the
49824982
completion of their construction.
4983-
In addition, the destruction of such temporaries shall
4984-
take into account the ordering of destruction of objects with static, thread, or
4983+
In addition, the destruction of such temporaries
4984+
takes into account the ordering of destruction of objects with static, thread, or
49854985
automatic storage duration\iref{basic.stc.static,basic.stc.thread,basic.stc.auto};
49864986
that is, if
49874987
\tcode{obj1}
49884988
is an object with the same storage duration as the temporary and
49894989
created before the temporary is created
4990-
the temporary shall be destroyed before
4990+
the temporary is destroyed before
49914991
\tcode{obj1}
49924992
is destroyed;
49934993
if
49944994
\tcode{obj2}
49954995
is an object with the same storage duration as the temporary and
49964996
created after the temporary is created
4997-
the temporary shall be destroyed after
4997+
the temporary is destroyed after
49984998
\tcode{obj2}
49994999
is destroyed.
50005000

@@ -5040,7 +5040,7 @@
50405040
is created before
50415041
\tcode{T2},
50425042
\tcode{T2}
5043-
shall be destroyed before
5043+
is destroyed before
50445044
\tcode{T1}.
50455045
The temporaries
50465046
\tcode{T1}
@@ -5071,11 +5071,11 @@
50715071
is constructed before
50725072
\tcode{obj2},
50735073
\tcode{obj2}
5074-
shall be destroyed before
5074+
is destroyed before
50755075
\tcode{T3},
50765076
and
50775077
\tcode{T3}
5078-
shall be destroyed before
5078+
is destroyed before
50795079
\tcode{obj1}.
50805080
\end{example}
50815081

@@ -5110,7 +5110,7 @@
51105110
functions\iref{headers} \tcode{std::memcpy} or \tcode{std::memmove}.
51115111
\end{footnote}
51125112
If the content of that array
5113-
is copied back into the object, the object shall
5113+
is copied back into the object, the object will
51145114
subsequently hold its original value.
51155115
\begin{example}
51165116
\begin{codeblock}
@@ -5132,7 +5132,7 @@
51325132
By using, for example,
51335133
the library functions\iref{headers} \tcode{std::memcpy} or \tcode{std::memmove}.
51345134
\end{footnote}
5135-
\tcode{obj2} shall subsequently hold the same value as
5135+
\tcode{obj2} will subsequently hold the same value as
51365136
\tcode{obj1}.
51375137
\begin{example}
51385138
\begin{codeblock}
@@ -5442,7 +5442,7 @@
54425442

54435443
\pnum
54445444
The width of each standard signed integer type
5445-
shall not be less than the values specified in \tref{basic.fundamental.width}.
5445+
is no less than the values specified in \tref{basic.fundamental.width}.
54465446
The value representation of a signed or unsigned integer type
54475447
comprises $N$ bits, where N is the respective width.
54485448
Each set of values for any padding bits\iref{basic.types.general}
@@ -5660,7 +5660,7 @@
56605660
A prvalue of type \tcode{std::nullptr_t} is a null pointer
56615661
constant\iref{conv.ptr}. Such values participate in the pointer and the
56625662
pointer-to-member conversions\iref{conv.ptr,conv.mem}.
5663-
\tcode{\keyword{sizeof}(std::nullptr_t)} shall be equal to \tcode{\keyword{sizeof}(\keyword{void}*)}.
5663+
\tcode{\keyword{sizeof}(std::nullptr_t)} is equal to \tcode{\keyword{sizeof}(\keyword{void}*)}.
56645664

56655665
\pnum
56665666
A value of type \tcode{std::meta::info} is called a \defn{reflection}.
@@ -5970,7 +5970,7 @@
59705970
is considered to belong to an array with one element of type \tcode{T}.
59715971
The value representation of
59725972
pointer types is \impldef{value representation of pointer types}. Pointers to
5973-
layout-compatible types shall
5973+
layout-compatible types
59745974
have the same value representation and alignment
59755975
requirements\iref{basic.align}.
59765976
\begin{note}
@@ -6046,9 +6046,9 @@
60466046
\indextext{\idxcode{void*}!type}%
60476047
A pointer to \cv{}~\keyword{void}
60486048
can be used to point to objects of
6049-
unknown type. Such a pointer shall be able to hold any object pointer.
6049+
unknown type. Such a pointer can hold any object pointer.
60506050
An object of type ``pointer to \cv{}~\keyword{void}''
6051-
shall have the same representation and alignment
6051+
has the same representation and alignment
60526052
requirements as an object of type ``pointer to \cv{}~\keyword{char}''.
60536053

60546054
\rSec2[basic.type.qualifier]{CV-qualifiers}
@@ -6063,7 +6063,7 @@
60636063
a \defn{const-qualified} version,
60646064
a \defn{volatile-qualified} version, and
60656065
a \defn{const-volatile-qualified} version.
6066-
The types in each such group shall have
6066+
The types in each such group have
60676067
the same representation and alignment requirements\iref{basic.align}.
60686068
\begin{footnote}
60696069
The same representation and alignment requirements
@@ -6459,7 +6459,7 @@
64596459
\placeholder{B}, if \placeholder{A} is sequenced before \placeholder{B}
64606460
(or, equivalently, \placeholder{B} is \defn{sequenced after} \placeholder{A}),
64616461
then the execution of
6462-
\placeholder{A} shall precede the execution of \placeholder{B}. If \placeholder{A} is not sequenced
6462+
\placeholder{A} precedes the execution of \placeholder{B}. If \placeholder{A} is not sequenced
64636463
before \placeholder{B} and \placeholder{B} is not sequenced before \placeholder{A}, then \placeholder{A} and
64646464
\placeholder{B} are \defn{unsequenced}.
64656465
\begin{note}
@@ -7005,7 +7005,7 @@
70057005
\item
70067006
If there is only one thread that is not blocked\iref{defns.block}
70077007
in a standard library function,
7008-
a lock-free execution in that thread shall complete.
7008+
a lock-free execution in that thread will complete.
70097009
\begin{note}
70107010
Concurrently executing threads
70117011
might prevent progress of a lock-free execution.

0 commit comments

Comments
 (0)