re PR c++/43108 (mixed complex<T> multiplication horribly inefficient)
commit1ff6b2c8c471291a07ba054ddbd18acb9dd69d7a
authorJason Merrill <jason@redhat.com>
Thu, 18 Feb 2010 19:58:41 +0000 (18 14:58 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Thu, 18 Feb 2010 19:58:41 +0000 (18 14:58 -0500)
tree651108caa02b6a01d8cc48219d48abf71d7fb4e4
parent86866b288ea526e0f6721cebb78d0dc5c2126254
re PR c++/43108 (mixed complex<T> multiplication horribly inefficient)

PR c++/43108
* typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
C build_binary_op.
* cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR.
* cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE.

From-SVN: r156874
16 files changed:
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/cvt.c
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/complex-alias-1.c [moved from gcc/testsuite/gcc.dg/torture/complex-alias-1.c with 85% similarity]
gcc/testsuite/c-c++-common/complex-sign-add.c [moved from gcc/testsuite/gcc.dg/torture/complex-sign-add.c with 97% similarity]
gcc/testsuite/c-c++-common/complex-sign-mixed-add.c [moved from gcc/testsuite/gcc.dg/torture/complex-sign-mixed-add.c with 97% similarity]
gcc/testsuite/c-c++-common/complex-sign-mixed-div.c [moved from gcc/testsuite/gcc.dg/torture/complex-sign-mixed-div.c with 96% similarity]
gcc/testsuite/c-c++-common/complex-sign-mixed-mul.c [moved from gcc/testsuite/gcc.dg/torture/complex-sign-mixed-mul.c with 97% similarity]
gcc/testsuite/c-c++-common/complex-sign-mixed-sub.c [moved from gcc/testsuite/gcc.dg/torture/complex-sign-mixed-sub.c with 97% similarity]
gcc/testsuite/c-c++-common/complex-sign-mul-minus-one.c [moved from gcc/testsuite/gcc.dg/torture/complex-sign-mul-minus-one.c with 97% similarity]
gcc/testsuite/c-c++-common/complex-sign-mul-one.c [moved from gcc/testsuite/gcc.dg/torture/complex-sign-mul-one.c with 97% similarity]
gcc/testsuite/c-c++-common/complex-sign-mul.c [moved from gcc/testsuite/gcc.dg/torture/complex-sign-mul.c with 97% similarity]
gcc/testsuite/c-c++-common/complex-sign-sub.c [moved from gcc/testsuite/gcc.dg/torture/complex-sign-sub.c with 97% similarity]
gcc/testsuite/c-c++-common/complex-sign.h [moved from gcc/testsuite/gcc.dg/torture/complex-sign.h with 97% similarity]