diff options
Diffstat (limited to 'gcc/print-tree.c')
-rw-r--r-- | gcc/print-tree.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/gcc/print-tree.c b/gcc/print-tree.c index 0b2563a..b251933 100644 --- a/gcc/print-tree.c +++ b/gcc/print-tree.c @@ -357,8 +357,27 @@ print_node (FILE *file, const char *prefix, tree node, int indent) if (TREE_CODE (node) == VAR_DECL && DECL_IN_TEXT_SECTION (node)) fputs (" in-text-section", file); - if (TREE_CODE (node) == VAR_DECL && DECL_THREAD_LOCAL (node)) - fputs (" thread-local", file); + if (TREE_CODE (node) == VAR_DECL && DECL_THREAD_LOCAL_P (node)) + { + enum tls_model kind = DECL_TLS_MODEL (node); + switch (kind) + { + case TLS_MODEL_GLOBAL_DYNAMIC: + fputs (" tls-global-dynamic", file); + break; + case TLS_MODEL_LOCAL_DYNAMIC: + fputs (" tls-local-dynamic", file); + break; + case TLS_MODEL_INITIAL_EXEC: + fputs (" tls-initial-exec", file); + break; + case TLS_MODEL_LOCAL_EXEC: + fputs (" tls-local-exec", file); + break; + default: + gcc_unreachable (); + } + } if (TREE_CODE (node) == PARM_DECL && DECL_TRANSPARENT_UNION (node)) fputs (" transparent-union", file); |