aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-09-27 15:30:10 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2002-09-27 15:30:10 +0200
commitdce81a1a59f9663eb72e722e17f490adc3f5a2d6 (patch)
treeb7ac095e3e844e739365675e99f4e724059e2a38 /gcc/tree.h
parent0e9e1e0a42eff5ec265470b7e8928cb3b3ad2d70 (diff)
downloadgcc-dce81a1a59f9663eb72e722e17f490adc3f5a2d6.zip
gcc-dce81a1a59f9663eb72e722e17f490adc3f5a2d6.tar.gz
gcc-dce81a1a59f9663eb72e722e17f490adc3f5a2d6.tar.bz2
extend.texi (tls_model): Document.
* doc/extend.texi (tls_model): Document. * varasm.c (decl_tls_model): New. * c-common.c (handle_tls_model_attribute): New. (c_common_attribute_table): Add tls_model. * config/alpha/alpha.c (alpha_encode_section_info): Use decl_tls_model. * flags.h (enum tls_model, flag_tls_default): Move... * tree.h (enum tls_model, flag_tls_default): ...here. (decl_tls_model): New prototype. * config/ia64/ia64.c (ia64_encode_section_info): Likewise. * config/i386/i386.c (ix86_encode_section_info): Likewise. * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base): Allow !flag_pic. From-SVN: r57588
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index ad34098..e964781 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2102,7 +2102,17 @@ extern GTY(()) tree integer_types[itk_none];
#define long_unsigned_type_node integer_types[itk_unsigned_long]
#define long_long_integer_type_node integer_types[itk_long_long]
#define long_long_unsigned_type_node integer_types[itk_unsigned_long_long]
+
+/* Set to the default thread-local storage (tls) model to use. */
+
+enum tls_model {
+ TLS_MODEL_GLOBAL_DYNAMIC = 1,
+ TLS_MODEL_LOCAL_DYNAMIC,
+ TLS_MODEL_INITIAL_EXEC,
+ TLS_MODEL_LOCAL_EXEC
+};
+extern enum tls_model flag_tls_default;
#define NULL_TREE (tree) NULL
@@ -2988,6 +2998,7 @@ extern void make_decl_rtl PARAMS ((tree, const char *));
extern void make_decl_one_only PARAMS ((tree));
extern int supports_one_only PARAMS ((void));
extern void variable_section PARAMS ((tree, int));
+enum tls_model decl_tls_model PARAMS ((tree));
/* In fold-const.c */
extern int div_and_round_double PARAMS ((enum tree_code, int,