diff --git a/source/declarations.tex b/source/declarations.tex index b941b09c2e..4380fe2e37 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -4343,7 +4343,7 @@ \pnum \begin{note} -A local variable cannot be odr-used\iref{term.odr.use} +A block variable with automatic storage duration cannot be odr-used\iref{term.odr.use} in a default argument. \end{note} \begin{example} diff --git a/source/exceptions.tex b/source/exceptions.tex index 79684e4c51..5a792064d1 100644 --- a/source/exceptions.tex +++ b/source/exceptions.tex @@ -396,7 +396,7 @@ constructed, but not yet destroyed, since the try block was entered. If an exception is thrown during the destruction of temporaries or -local variables for a \keyword{return} statement\iref{stmt.return}, +variables for a \keyword{return} statement\iref{stmt.return}, the destructor for the returned object (if any) is also invoked. The objects are destroyed in the reverse order of the completion of their construction. @@ -418,11 +418,11 @@ } \end{codeblock} At \#1, the returned object of type \tcode{A} is constructed. -Then, the local variable \tcode{b} is destroyed\iref{stmt.jump}. -Next, the local variable \tcode{y} is destroyed, +Then, the variable \tcode{b} is destroyed\iref{stmt.jump}. +Next, the variable \tcode{y} is destroyed, causing stack unwinding, resulting in the destruction of the returned object, -followed by the destruction of the local variable \tcode{a}. +followed by the destruction of the variable \tcode{a}. Finally, the returned object is constructed again at \#2. \end{example} diff --git a/source/statements.tex b/source/statements.tex index ce3a65e00e..b1c98ee5c4 100644 --- a/source/statements.tex +++ b/source/statements.tex @@ -805,7 +805,7 @@ \end{bnf} \pnum -\indextext{local variable!destruction of}% +\indextext{block variable with automatic storage duration!destruction of}% \indextext{scope!destructor and exit from}% \begin{note} On exit from a scope (however accomplished), objects with automatic storage @@ -947,11 +947,11 @@ The copy-initialization of the result of the call is sequenced before the destruction of temporaries at the end of the full-expression established by the operand of the \tcode{return} statement, which, in turn, is sequenced -before the destruction of local variables\iref{stmt.jump} of the block +before the destruction of block variables with automatic storage duration\iref{stmt.jump} of the block enclosing the \tcode{return} statement. \begin{note} These operations -are sequenced before the destruction of local variables +are sequenced before the destruction of block variables with automatic storage duration in each remaining enclosing block of the function\iref{stmt.dcl}, which, in turn, is sequenced before the evaluation of diff --git a/source/text.tex b/source/text.tex index e3661cf1b4..fc4f4450e1 100644 --- a/source/text.tex +++ b/source/text.tex @@ -2583,7 +2583,7 @@ \begin{description} \stage{1} -The function initializes local variables via +The function initializes variables with automatic storage duration via \begin{codeblock} fmtflags flags = str.flags(); fmtflags basefield = (flags & ios_base::basefield); @@ -2632,7 +2632,7 @@ \stage{2} If \tcode{in == end} then stage 2 terminates. Otherwise a \tcode{charT} is taken from \tcode{in} and -local variables are initialized as if by +variables with automatic storage duration are initialized as if by \begin{codeblock} char_type ct = *in; char c = src[find(atoms, atoms + sizeof(src) - 1, ct) - atoms]; @@ -2881,7 +2881,8 @@ \effects Writes characters to the sequence \tcode{out}, formatting \tcode{val} as desired. -In the following description, \tcode{loc} names a local variable initialized as +In the following description, \tcode{loc} names a variable with +automatic storage duration initialized as \begin{codeblock} locale loc = str.getloc(); \end{codeblock} @@ -2925,7 +2926,8 @@ \begin{description} \stage{1} The first action of stage 1 is to determine a conversion specifier. -The tables that describe this determination use the following local variables +The tables that describe this determination use the following variables with +automatic storage duration. \begin{codeblock} fmtflags flags = str.flags(); @@ -3023,7 +3025,7 @@ use_facet>(loc).widen(c) \end{codeblock} -A local variable \tcode{punct} is initialized via +A variable \tcode{punct} with automatic storage duration is initialized via \begin{codeblock} const numpunct& punct = use_facet>(loc); \end{codeblock} @@ -3036,7 +3038,7 @@ Decimal point characters(.) are replaced by \tcode{punct.decimal_point()}. \stage{3} -A local variable is initialized as +A variable with automatic storage is initialized as \begin{codeblock} fmtflags adjustfield = (flags & (ios_base::adjustfield)); \end{codeblock} @@ -12388,7 +12390,8 @@ \begin{itemdescr} \pnum \effects -Constructs a local variable \tcode{start} of type \tcode{BidirectionalIterator} and +Constructs a variable \tcode{start} of type \tcode{BidirectionalIterator} +with automatic storage duration and initializes it with the value of \tcode{match[0].second}. \pnum @@ -12733,9 +12736,8 @@ \begin{itemdescr} \pnum \effects -Constructs a local variable \tcode{prev} of -type \tcode{position_iterator}, initialized with the value -of \tcode{position}. +Constructs a variable \tcode{prev} of type \tcode{position_iterator} +with automatic storage duration, initialized with the value of \tcode{position}. \pnum If \tcode{*this} is a suffix iterator, sets \tcode{*this} to an