From 3d78f2e96e29feaff7046c22fdc97aa58bee9688 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 21 May 2002 18:11:29 -0700 Subject: 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 --- gcc/fixinc/fixincl.x | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) (limited to 'gcc/fixinc/fixincl.x') diff --git a/gcc/fixinc/fixincl.x b/gcc/fixinc/fixincl.x index 589687f..b927146 100644 --- a/gcc/fixinc/fixincl.x +++ b/gcc/fixinc/fixincl.x @@ -5,7 +5,7 @@ * files which are fixed to work correctly with ANSI C and placed in a * directory that GNU C will search. * - * This file contains 145 fixup descriptions. + * This file contains 146 fixup descriptions. * * See README for more information. * @@ -4568,6 +4568,40 @@ static const char* apzSysz_Stdlib_For_SunPatch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Thread_Keyword fix + */ +tSCC zThread_KeywordName[] = + "thread_keyword"; + +/* + * File name selection pattern + */ +tSCC zThread_KeywordList[] = + "|bits/sigthread.h|pthread.h|"; +/* + * Machine/OS name selection pattern + */ +#define apzThread_KeywordMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zThread_KeywordSelect0[] = + "__thread"; + +#define THREAD_KEYWORD_TEST_CT 1 +static tTestDesc aThread_KeywordTests[] = { + { TT_EGREP, zThread_KeywordSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Thread_Keyword + */ +static const char* apzThread_KeywordPatch[] = { "sed", + "-e", "s/\\([^a-z0-9_]\\)__thread\\([^a-z0-9_]\\)/\\1__thr\\2/g", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Tinfo_Cplusplus fix */ tSCC zTinfo_CplusplusName[] = @@ -5672,9 +5706,9 @@ static const char* apzX11_SprintfPatch[] = { * * List of all fixes */ -#define REGEX_COUNT 152 +#define REGEX_COUNT 153 #define MACH_LIST_SIZE_LIMIT 279 -#define FIX_COUNT 145 +#define FIX_COUNT 146 /* * Enumerate the fixes @@ -5796,6 +5830,7 @@ typedef enum { SVR4_PROFIL_FIXIDX, SYSV68_STRING_FIXIDX, SYSZ_STDLIB_FOR_SUN_FIXIDX, + THREAD_KEYWORD_FIXIDX, TINFO_CPLUSPLUS_FIXIDX, ULTRIX_ATEXIT_PARAM_FIXIDX, ULTRIX_ATOF_PARAM_FIXIDX, @@ -6408,6 +6443,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSysz_Stdlib_For_SunTests, apzSysz_Stdlib_For_SunPatch, 0 }, + { zThread_KeywordName, zThread_KeywordList, + apzThread_KeywordMachs, + THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY, + aThread_KeywordTests, apzThread_KeywordPatch, 0 }, + { zTinfo_CplusplusName, zTinfo_CplusplusList, apzTinfo_CplusplusMachs, TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, -- cgit v1.1