------- 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

Reply via email to