This is the mail archive of the gcc-patches@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]

[PATCH] FIx PR midde-end/32935 ICE in emit_move_insn due to fold producing type mismatch with negative and fp


Hi,
  The problem here is that fold strips off the floating point
extensions but then does not convert the negative expression back to
the original type which causes a type mismatch.  This causes either an
ICE with the extra checking Richard Guenther added or an ICE in
emit_move_insn.  This patch here adds a fold_convert to convert to the
correct type after the negate expression.

OK?  Bootstrapped and tested on i686-apple-darwin8.10 with no regressions.

Thanks,
Andrew Pinski

* fold-convert.c (fold_negate_expr <NOP_EXPR>): Convert back to the correct
type the negate expression.

* gfortran.fortran-torture/compile/complex_1.f90: New test

Attachment: fixpr32935.diff.txt
Description: Text document


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