diff options
author | Richard Henderson <rth@redhat.com> | 2002-05-21 18:11:29 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-05-21 18:11:29 -0700 |
commit | 3d78f2e96e29feaff7046c22fdc97aa58bee9688 (patch) | |
tree | 1d3e8e4b6c824cf31a86c19bd79a5a7767a5a468 /gcc/flags.h | |
parent | f5eb2fc83e49d200496a62d29b3236c6cfd76a91 (diff) | |
download | gcc-3d78f2e96e29feaff7046c22fdc97aa58bee9688.zip gcc-3d78f2e96e29feaff7046c22fdc97aa58bee9688.tar.gz gcc-3d78f2e96e29feaff7046c22fdc97aa58bee9688.tar.bz2 |
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
Diffstat (limited to 'gcc/flags.h')
-rw-r--r-- | gcc/flags.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/gcc/flags.h b/gcc/flags.h index efcc771..37f54d2 100644 --- a/gcc/flags.h +++ b/gcc/flags.h @@ -458,11 +458,22 @@ extern int flag_dump_unnumbered; extern int flag_pedantic_errors; -/* Nonzero means generate position-independent code. - This is not fully implemented yet. */ +/* Nonzero means generate position-independent code. 1 vs 2 for a + target-dependent "small" or "large" mode. */ extern int flag_pic; +/* Set to the default thread-local storage (tls) model to use. */ + +enum tls_model { + TLS_MODEL_GLOBAL_DYNAMIC, + TLS_MODEL_LOCAL_DYNAMIC, + TLS_MODEL_INITIAL_EXEC, + TLS_MODEL_LOCAL_EXEC +}; + +extern enum tls_model flag_tls_default; + /* Nonzero means generate extra code for exception handling and enable exception handling. */ |