OSDN Git Service

PR c/24581
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 May 2009 10:22:08 +0000 (10:22 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 May 2009 10:22:08 +0000 (10:22 +0000)
commit0f241d3febb1990e55daad2841f65020424d70d2
tree0d1b08d95e3e4458bfdcc780995e149747769e39
parent9039f11314f957414e788f0488a67c4fae12fa44
PR c/24581
* c-typeck.c (build_binary_op): Handle arithmetic between one real
and one complex operand specially.
* tree-complex.c (some_nonzerop): Do not identify a real value as
zero if flag_signed_zeros.

testsuite:
* gcc.dg/torture/complex-sign.h: New header.
* gcc.dg/torture/complex-sign-add.c,
gcc.dg/torture/complex-sign-mixed-add.c,
gcc.dg/torture/complex-sign-mixed-div.c,
gcc.dg/torture/complex-sign-mixed-mul.c,
gcc.dg/torture/complex-sign-mixed-sub.c,
gcc.dg/torture/complex-sign-mul.c,
gcc.dg/torture/complex-sign-sub.c: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147281 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/ChangeLog
gcc/c-typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/complex-sign-add.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/complex-sign-mixed-add.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/complex-sign-mixed-div.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/complex-sign-mixed-mul.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/complex-sign-mixed-sub.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/complex-sign-mul.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/complex-sign-sub.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/complex-sign.h [new file with mode: 0644]
gcc/tree-complex.c