------- Comment #2 from danglin at gcc dot gnu dot org 2007-12-26 23:13 -------
Breakpoint 5, dbxout_symbol_location (decl=0x40053808, type=0x40068808,
suffix=0x400561dc "~*", home=0x40010248) at ../../gcc/gcc/dbxout.c:2825
2825 if (GET_CODE (home) == SUBREG)
(gdb) p debug_tree ($r26)
<var_decl 7ade6160 thrc
type <record_type 7ae1ea90 BLK
size <integer_cst 7addea80 constant invariant 256>
unit size <integer_cst 7adde2c0 constant invariant 32>
align 32 symtab 0 alias set 17 canonical type 7ae1ea90
fields <field_decl 7ae1b600 bar1 type <record_type 7ae1e680
array1_integer(kind=4)>
BLK file
/test/gnu/gcc/gcc/libgomp/testsuite/libgomp.fortran/threadprivate2.f90 line 12
col 0
size <integer_cst 7ae16700 constant invariant 192>
unit size <integer_cst 7ae16600 constant invariant 24>
align 32 offset_align 64
offset <integer_cst 7adde300 constant invariant 0>
bit offset <integer_cst 7adde880 constant invariant 0> context
<record_type 7ae1ea90> chain <field_decl 7ae1b660 bar2>>
pointer_to_this <pointer_type 7ae2ea28>>
addressable used public static common tls-local-exec decl_3 BLK file
/test/gnu/gcc/gcc/libgomp/testsuite/libgomp.fortran/threadprivate2.f90 line 14
col 0 size <integer_cst 7addea80 256> unit size <integer_cst 7adde2c0 32>
align 64 context <function_decl 7ae1c5b0 MAIN__>
(mem/s/c:BLK (symbol_ref:SI ("thrc_") <var_decl 7ade6160 thrc>) [17 thrc+0
S32 A64]) chain <function_decl 7ae1c5b0 MAIN__>>
In the test, we have:
common /thrc/ bar1, bar2
!$omp threadprivate (/thrc/)
The symbol naming seems messed up when using emulated TLS.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31510