* 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
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| include | Loading commit data... | |
| .cvsignore | Loading commit data... | |
| bugreport.texi | Loading commit data... | |
| c-tree.texi | Loading commit data... | |
| collect2.texi | Loading commit data... | |
| configfiles.texi | Loading commit data... | |
| configterms.texi | Loading commit data... | |
| contrib.texi | Loading commit data... | |
| contribute.texi | Loading commit data... | |
| cpp.texi | Loading commit data... | |
| cppenv.texi | Loading commit data... | |
| cppinternals.texi | Loading commit data... | |
| cppopts.texi | Loading commit data... | |
| extend.texi | Loading commit data... | |
| fragments.texi | Loading commit data... | |
| frontends.texi | Loading commit data... | |
| gcc.texi | Loading commit data... | |
| gccint.texi | Loading commit data... | |
| gcov.texi | Loading commit data... | |
| gnu.texi | Loading commit data... | |
| headerdirs.texi | Loading commit data... | |
| hostconfig.texi | Loading commit data... | |
| install-old.texi | Loading commit data... | |
| install.texi | Loading commit data... | |
| install.texi2html | Loading commit data... | |
| interface.texi | Loading commit data... | |
| invoke.texi | Loading commit data... | |
| languages.texi | Loading commit data... | |
| makefile.texi | Loading commit data... | |
| md.texi | Loading commit data... | |
| objc.texi | Loading commit data... | |
| passes.texi | Loading commit data... | |
| portability.texi | Loading commit data... | |
| rtl.texi | Loading commit data... | |
| service.texi | Loading commit data... | |
| sourcebuild.texi | Loading commit data... | |
| standards.texi | Loading commit data... | |
| tm.texi | Loading commit data... | |
| trouble.texi | Loading commit data... | |
| vms.texi | Loading commit data... |