re PR middle-end/37275 (ICE when compile libgomp/task.c)
authorJakub Jelinek <jakub@redhat.com>
Fri, 26 Sep 2008 20:59:03 +0000 (22:59 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 26 Sep 2008 20:59:03 +0000 (22:59 +0200)
commit9c2b3df10a547f360f7ee8b0393f4b7fa3e5014b
treeb364d416e69c31df3bbb3c47c5f77ad3f3b4c57c
parentbb3da4f27b9d7241a626695e80edc285561f2506
re PR middle-end/37275 (ICE when compile libgomp/task.c)

PR middle-end/37275
* dwarf2out.c (tls_mem_loc_descriptor): New function.
(mem_loc_descriptor): Use it for MEM.  For PLUS fail if second
mem_loc_descriptor failed.  Accept UNSPEC.
(loc_descriptor): Use tls_mem_loc_descriptor for MEM.  For PARALLEL
fail if one of the loc_descriptor calls for pieces failed.
(loc_descriptor_from_tree_1): Handle even DECL_EXTERNAL __thread vars,
as long as they bind locally.  For COMPONENT_REF, ARRAY_REF etc. fail
if loc_descriptor_from_tree_1 on offset failed.

* gcc.target/i386/pr37275.c: New test.

From-SVN: r140712
gcc/ChangeLog
gcc/dwarf2out.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr37275.c [new file with mode: 0644]