------- Comment #19 from pcarlini at suse dot de 2006-09-07 09:11 ------- A side note, maybe not completely obvious to everyone and clarifying the relationship to 24581. I understand that:
(+0) + (-0) = +0 therefore, when in the expansion of the complex product one of the two terms of the imaginary part is +0 and the other -0 the result doesn't show the sign. The "same" product as complex * real (like in this PR) must lead instead to -0. Thus, barring additional evidence, it may well be that the mess is limited to complex * real and real * complex, as stated in 24581, but definitely affects both C and C++ (in different, inconsistent, ways :( -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28408