public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug debug/51377] New: ICE when generating debug info for targets with multiple pointer sizes @ 2011-12-01 10:36 nickc at redhat dot com 2011-12-01 10:45 ` [Bug debug/51377] " nickc at redhat dot com 2011-12-01 10:54 ` nickc at redhat dot com 0 siblings, 2 replies; 3+ messages in thread From: nickc at redhat dot com @ 2011-12-01 10:36 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51377 Bug #: 51377 Summary: ICE when generating debug info for targets with multiple pointer sizes Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassigned@gcc.gnu.org ReportedBy: nickc@redhat.com Created attachment 25966 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25966 Source for test case This is a follow up to a problem first reported here: http://gcc.gnu.org/ml/gcc/2011-11/msg00397.html ^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug debug/51377] ICE when generating debug info for targets with multiple pointer sizes 2011-12-01 10:36 [Bug debug/51377] New: ICE when generating debug info for targets with multiple pointer sizes nickc at redhat dot com @ 2011-12-01 10:45 ` nickc at redhat dot com 2011-12-01 10:54 ` nickc at redhat dot com 1 sibling, 0 replies; 3+ messages in thread From: nickc at redhat dot com @ 2011-12-01 10:45 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51377 --- Comment #1 from Nick Clifton <nickc at redhat dot com> 2011-12-01 10:44:57 UTC --- Created attachment 25967 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25967 Test for mixed pointer modes in the assertion. ^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug debug/51377] ICE when generating debug info for targets with multiple pointer sizes 2011-12-01 10:36 [Bug debug/51377] New: ICE when generating debug info for targets with multiple pointer sizes nickc at redhat dot com 2011-12-01 10:45 ` [Bug debug/51377] " nickc at redhat dot com @ 2011-12-01 10:54 ` nickc at redhat dot com 1 sibling, 0 replies; 3+ messages in thread From: nickc at redhat dot com @ 2011-12-01 10:54 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51377 --- Comment #2 from Nick Clifton <nickc at redhat dot com> 2011-12-01 10:54:35 UTC --- [Darn - hit return too early]. When compiling for a target that supports multiple pointer sizes (eg s390) generating debug information can trigger an ICE in the compiler: % s390-gcc -c -g -O2 -m64 fred.i fred.i: In function 'bar': fred.i:37:1: internal compiler error: in expand_debug_locations, at cfgexpand.c:3687 The insn looks like this: (debug_insn 6 5 7 2 (var_location:SI temp$union_field$ptr_field (scratch)) fred.i:31 -1 (nil)) but the debug expression associated with it looks like this: (debug_expr:DI D#1) The problem, I believe, is in the assertion at line 3687, not the debug expression itself. The expression has been created by converting the gimple for the right hand side of the assignment on line 31 of fred.i: & arg_1(D)->bytes into tree form. This conversion chooses DImode since that is the default pointer mode on this particular target. The fact that this expression is then cast to an SImode pointer is irrelevant - the expression itself is a DImode pointer expression. I have uploaded a proposed patch for this problem, based on an original patch created by DJ, but tweaked a little bit by me. It extends the assetion in expand_debug_locations() to allow for the fact that pointer expressions might use multiple modes. Cheers Nick ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-12-01 10:54 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-12-01 10:36 [Bug debug/51377] New: ICE when generating debug info for targets with multiple pointer sizes nickc at redhat dot com 2011-12-01 10:45 ` [Bug debug/51377] " nickc at redhat dot com 2011-12-01 10:54 ` nickc at redhat dot com
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).