This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/60655] [4.9 Regression] ICE: output_operand: invalid expression as operand
- From: "ramana at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 04 Apr 2014 16:10:39 +0000
- Subject: [Bug debug/60655] [4.9 Regression] ICE: output_operand: invalid expression as operand
- Auto-submitted: auto-generated
- References: <bug-60655-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60655
--- Comment #9 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> ---
Author: ramana
Date: Fri Apr 4 16:10:07 2014
New Revision: 209121
URL: http://gcc.gnu.org/viewcvs?rev=209121&root=gcc&view=rev
Log:
Fix PR debug/60655 - part 1
This is a partial fix for PR60655 where dwarf2out.c rejects NOT of a
value in const_ok_for_output_1. There is still a problem with the
testcase on armhf where we get operations of the form, const (minus
(const_int) (symref)) without the -fdata-sections option which is just
weird. I'm not yet sure where this is produced from and will not have
the time to dig further today.
As Jakub said on IRC, const_ok_for_output_1 is called only with
partial rtx's and therefore disabling minus (const_int) (symref) might
not be the best thing to do especially if this were part of plus
(symref) (minus (const int) (symref)) and both symrefs were in the
same section.
Bootstrapped and regtested on armhf
Bootstrap and regression test running on x86_64.
Ok to commit ?
regards
Ramana
gcc/
<DATE> Jakub Jelinek <jakub@redhat.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* dwarf2out.c (const_ok_for_output_1): Reject expressions
containing a NOT.
gcc/testsuite
<DATE> Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* gcc.c-torture/compile/pr60655-1.c: New test.
Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr60655-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c
trunk/gcc/testsuite/ChangeLog