Commit 244c2241 by Richard Henderson Committed by Richard Henderson

extend.texi (C++98 Thread-Local Edits): Update with commentary from Mark.

        * doc/extend.texi (C++98 Thread-Local Edits): Update with
        commentary from Mark.

From-SVN: r53807
parent e0082a72
2002-05-23 Richard Henderson <rth@redhat.com>
* doc/extend.texi (C++98 Thread-Local Edits): Update with
commentary from Mark.
2002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 2002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* bb-reorder.c (make_reorder_chain, make_reorder_chain_1): * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
......
...@@ -6226,8 +6226,8 @@ When used with @code{extern} or @code{static}, @code{__thread} must appear ...@@ -6226,8 +6226,8 @@ When used with @code{extern} or @code{static}, @code{__thread} must appear
immediately after the other storage class specifier. immediately after the other storage class specifier.
The @code{__thread} specifier may be applied to any global, file-scoped The @code{__thread} specifier may be applied to any global, file-scoped
static, function-scoped static, or class-scoped static variable. It may static, function-scoped static, or static data member of a class. It may
not be applied to block-scoped automatic or class-scoped member variables. not be applied to block-scoped automatic or non-static data member.
When the address-of operator is applied to a thread-local variable, it is When the address-of operator is applied to a thread-local variable, it is
evaluated at run-time and returns the address of the current thread's evaluated at run-time and returns the address of the current thread's
...@@ -6237,8 +6237,9 @@ in that thread become invalid. ...@@ -6237,8 +6237,9 @@ in that thread become invalid.
No static initialization may refer to the address of a thread-local variable. No static initialization may refer to the address of a thread-local variable.
In C++, a thread-local variable may not be initialized at runtime, In C++, if an initializer is present for a thread-local variable, it must
that is, either by a static constructor or a non-constant expression. be a @var{constant-expression}, as defined in 5.19.2 of the ANSI/ISO C++
standard.
See @uref{http://people.redhat.com/drepper/tls.pdf, See @uref{http://people.redhat.com/drepper/tls.pdf,
ELF Handling For Thread-Local Storage} for a detailed explanation of ELF Handling For Thread-Local Storage} for a detailed explanation of
...@@ -6379,7 +6380,9 @@ dynamic initialization. ...@@ -6379,7 +6380,9 @@ dynamic initialization.
Add after paragraph 3 Add after paragraph 3
@quotation @quotation
An object of thread storage duration shall not require a destructor. The type of an object with thread storage duration shall not have a
non-trivial destructor, nor shall it be an array type whose elements
(directly or indirectly) have non-trivial destructors.
@end quotation @end quotation
@item @item
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment