diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a668454b38f..7225f3915d0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-05-22 Richard Henderson + + * varasm.c (default_section_type_flags): Check for VAR_DECL + before using DECL_THREAD_LOCAL. + 2002-05-22 David Edelsohn * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 69008fdd8c4..346add8059c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2002-05-22 Richard Henderson + + * decl.c (obscure_complex_init): Check for VAR_DECL + before using DECL_THREAD_LOCAL. + 2002-05-22 Richard Henderson * decl.c (check_tag_decl): Handle RID_THREAD. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index dbdc6f2efc2..dbaf68548c1 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -7581,7 +7581,7 @@ static tree obscure_complex_init (decl, init) tree decl, init; { - if (DECL_THREAD_LOCAL (decl)) + if (TREE_CODE (decl) == VAR_DECL && DECL_THREAD_LOCAL (decl)) { error ("run-time initialization of thread-local storage"); return NULL_TREE; diff --git a/gcc/varasm.c b/gcc/varasm.c index 0c4b3cd942b..a055bbf0010 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -5105,7 +5105,7 @@ default_section_type_flags (decl, name, reloc) if (decl && DECL_ONE_ONLY (decl)) flags |= SECTION_LINKONCE; - if (decl && DECL_THREAD_LOCAL (decl)) + if (decl && TREE_CODE (decl) == VAR_DECL && DECL_THREAD_LOCAL (decl)) flags |= SECTION_TLS | SECTION_WRITE; if (strcmp (name, ".bss") == 0