From 244c2241b8ef12958d1414f46ba6006554ebb9e6 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 23 May 2002 14:00:49 -0700 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/doc/extend.texi | 13 ++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 054323d1b0d..69160dfb692 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-05-23 Richard Henderson + + * doc/extend.texi (C++98 Thread-Local Edits): Update with + commentary from Mark. + 2002-05-23 Zdenek Dvorak * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 301db237124..9d1fc7e7ede 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -6226,8 +6226,8 @@ When used with @code{extern} or @code{static}, @code{__thread} must appear immediately after the other storage class specifier. The @code{__thread} specifier may be applied to any global, file-scoped -static, function-scoped static, or class-scoped static variable. It may -not be applied to block-scoped automatic or class-scoped member variables. +static, function-scoped static, or static data member of a class. It may +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 evaluated at run-time and returns the address of the current thread's @@ -6237,8 +6237,9 @@ in that thread become invalid. 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, -that is, either by a static constructor or a non-constant expression. +In C++, if an initializer is present for a thread-local variable, it must +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, ELF Handling For Thread-Local Storage} for a detailed explanation of @@ -6379,7 +6380,9 @@ dynamic initialization. Add after paragraph 3 @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 @item -- 2.30.2