]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/doc/extend.texi
c-common.h (enum rid): Add RID_THREAD.
authorRichard Henderson <rth@redhat.com>
Wed, 22 May 2002 01:11:29 +0000 (18:11 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 22 May 2002 01:11:29 +0000 (18:11 -0700)
commit3d78f2e96e29feaff7046c22fdc97aa58bee9688
tree1d3e8e4b6c824cf31a86c19bd79a5a7767a5a468
parentf5eb2fc83e49d200496a62d29b3236c6cfd76a91
c-common.h (enum rid): Add RID_THREAD.

        * c-common.h (enum rid): Add RID_THREAD.
        * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
        (grokdeclarator): Grok __thread.
        * c-parse.in (reswords): Add __thread.
        (rid_to_yy): Add RID_THREAD.
        * cp/lex.c (rid_to_yy): Add RID_THREAD.

        * tree.h (DECL_THREAD_LOCAL): New.
        (struct tree_decl): Add thread_local_flag.
        * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
        * tree.c (staticp): TLS variables are not static.

        * target-def.h (TARGET_HAVE_TLS): New.
        * target.h (have_tls): New.
        * output.h (SECTION_TLS): New.
        * varasm.c (assemble_variable): TLS variables can't be common for now.
        (default_section_type_flags): Handle .tdata and .tbss.
        (default_elf_asm_named_section): Handle SECTION_TLS.
        (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.

        * flags.h (flag_tls_default): Declare.
        * toplev.c (flag_tls_default): Define.
        (display_help): Display help for it.
        (decode_f_option): Set it.

        * doc/extend.texi (Thread-Local): New node describing language-level
        thread-local storage.
        * doc/invoke.texi (-ftls-model): Document.

        * fixinc/inclhack.def (thread_keyword): New.
        * fixinc/fixincl.x: Rebuild.

From-SVN: r53715
19 files changed:
gcc/ChangeLog
gcc/c-common.h
gcc/c-decl.c
gcc/c-parse.in
gcc/cp/ChangeLog
gcc/cp/lex.c
gcc/doc/extend.texi
gcc/doc/invoke.texi
gcc/fixinc/fixincl.x
gcc/fixinc/inclhack.def
gcc/flags.h
gcc/output.h
gcc/print-tree.c
gcc/target-def.h
gcc/target.h
gcc/toplev.c
gcc/tree.c
gcc/tree.h
gcc/varasm.c