This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cleanup tests failing on MIPS64


Adam Nemet <anemet@caviumnetworks.com> writes:
> For two testresults now the cleanup tests are failing in both gcc and g++:
>
>   http://gcc.gnu.org/ml/gcc-testresults/2009-04/msg01031.html
>   http://gcc.gnu.org/ml/gcc-testresults/2009-04/msg00592.html
>
> I waited for another testresults because there were some bug fixes in this
> area after the eh changes.
>
> Does somebody know what's going on?  I'll look at it otherwise.

I am not exactly sure what has exposed this but the bug seems to be old.
can_throw_external in except.c does not look at the branch delay slot (second
entry in a SEQUENCE) to determine whether the insn may throw or not.

In gcc.dg/cleanup-8.c for example after inlining fn3, the trapping store is
moved to the delay slot of abort, which is a nothrow function so we decide
that fn2 can't throw and then ultimately remove the eh region around fn1 in
fn0.

Adam


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]