[Bug middle-end/37275] [4.4 Regression] ICE when compile libgomp/task.c

2008-09-26 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2008-09-26 21:00 ---
Subject: Bug 37275

Author: jakub
Date: Fri Sep 26 20:59:03 2008
New Revision: 140712

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140712
Log:
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.

Added:
trunk/gcc/testsuite/gcc.target/i386/pr37275.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37275



[Bug middle-end/37275] [4.4 Regression] ICE when compile libgomp/task.c

2008-09-26 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2008-09-26 21:03 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37275



[Bug middle-end/37275] [4.4 Regression] ICE when compile libgomp/task.c

2008-09-09 Thread jsm28 at gcc dot gnu dot org


-- 

jsm28 at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37275



[Bug middle-end/37275] [4.4 Regression] ICE when compile libgomp/task.c

2008-09-08 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||09/msg00592.html
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-09-08 12:03:24
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37275



[Bug middle-end/37275] [4.4 Regression] ICE when compile libgomp/task.c

2008-09-03 Thread linuxl4 at sohu dot com


--- Comment #3 from linuxl4 at sohu dot com  2008-09-03 10:42 ---
[~/tmp]$gcc --version |head -1
gcc (GCC) 4.4.0 20080902 (experimental)

[~/tmp]$gcc -g -O2 -march=i686 -fstack-protector -c task.c -o task.o
/trunk/libgomp/task.c: In function 'GOMP_task':
/trunk/libgomp/task.c:186: internal compiler error: in mem_loc_descriptor, at
dwarf2out.c:10098
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37275



[Bug middle-end/37275] [4.4 Regression] ICE when compile libgomp/task.c

2008-09-03 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2008-09-03 22:18 ---
What happens here is that there is a variable (task) initialized from
a value within thread local aggregate (gomp_tls_data.task) and it is never
modified, and as i386 has very few registers and register preassure is high,
its pseudo is replaced by equiv mem, which happens to be:
(mem/s/f/c:SI (plus:SI (plus:SI (unspec:SI [
(const_int 0 [0x0])
] 18)
(reg:SI 3 bx [168]))
(const_int 36 [0x24])) [16 gomp_tls_data.task+0 S4 A32])
(the unspec there is thread pointer).  This is then what dwarf2out sees and
fails on gcc_unreachable, because it doesn't handle that UNSPEC.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37275



[Bug middle-end/37275] [4.4 Regression] ICE when compile libgomp/task.c

2008-09-02 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2008-09-02 20:39 ---
Can you say what the ICE is?


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
  GCC build triplet|i686-pc-linux-gnu   |
   GCC host triplet|i686-pc-linux-gnu   |
 GCC target triplet||i686-pc-linux-gnu
   Keywords||wrong-code
Summary|ICE when compile|[4.4 Regression] ICE when
   |libgomp/task.c  |compile libgomp/task.c
   Target Milestone|--- |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37275