------- Comment #4 from ben_ship at lycos dot com 2007-02-22 03:16 ------- This might actually be a more general issue with operator overloading.
In this example the overloading of an operator that works on two different shaped operands of intrinsic types is not allowed. At the same time there is no know conflicting operator (*) for generating the product "a*b" and you cannot define one without either - changing "COMPLEX" to some derived type with complex elements, therefore removing the type issue. - replacing "*" with some user defined operator, e.g.".times.", rather than overloading. (but then precedence is an issue) I think it is a little unusual that COMPLEX is used rather than some derived type. However, ifort and g95 will compile this code. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30877