[Bug debug/39355] [4.4 Regression] Revision 144529 miscompiled libcpp/expr.c
dave at hiauly1 dot hia dot nrc dot ca
gcc-bugzilla@gcc.gnu.org
Fri Mar 20 01:30:00 GMT 2009
------- Comment #29 from dave at hiauly1 dot hia dot nrc dot ca 2009-03-20 01:30 -------
Subject: Re: [4.4 Regression] Revision 144529 miscompiled libcpp/expr.c
> I'd say first try to add noinline attribute on all callers of num_positive, if
> it fails even with those, add also __attribute__((__optimize__(0))) to them one
> by one. If the noinline attribute to those makes the miscompilation go away,
> search one by one which one it is and retry with all callers of that function.
With todays, head, it seems the miscompilation is related to the inlining
of check_promotion. Adding noinline attribute makes the ICE go away.
Adding __attribute__((__optimize__(0))) or __attribute__((__optimize__(1)))
also makes the ICE go away. Removing either half of the
"if (op->value.unsignedp)" also makes the ICE go away. However, I haven't
been able to spot the actual miscompilation yet.
Dave
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39355
More information about the Gcc-bugs
mailing list