This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/55142] [4.8 Regression] internal compiler error: in plus_constant, at explow.c:88
- From: "hjl.tools at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 01 Nov 2012 23:07:06 +0000
- Subject: [Bug middle-end/55142] [4.8 Regression] internal compiler error: in plus_constant, at explow.c:88
- Auto-submitted: auto-generated
- References: <bug-55142-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55142
--- Comment #17 from H.J. Lu <hjl.tools at gmail dot com> 2012-11-01 23:07:06 UTC ---
T(In reply to comment #16)
> > I think the bug is in unsigned array index computation as
> > shown in Comment 7. dyn->d_tag is signed type and Pmode
> > != ptr_mode here.
>
> Possibly, you must be extra careful with these kinds of awkward setups. We
> already had similar issues in the past (MEM_REF expansion on SPARC64, array
> indexes on IA-64/VMS) but the bugs were in the RTL expansion. I'll dig.
I agree. It is a pain to work with Pmode == DImode and ptr_mode == SImode
for x32. On the other hand, it does expose many issues in middle-end as
well as in backend.