http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24581
--- Comment #18 from Steve Kargl <sgk at troutmask dot apl.washington.edu> 2010-11-22 00:05:02 UTC --- On Sun, Nov 21, 2010 at 11:53:50PM +0000, joseph at codesourcery dot com wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24581 > > Annex G does not define the results for complex*complex multiplication to > that level of detail, and for the complex*real multiplication we have here > it seems entirely correct to have a NaN (sign unspecified) as the real > part. > We've had this discussion before. Annex G, which I do acknowledge as informative, states: The * and / operators satisfy the following infinity properties for all real, imaginary, and complex operands:319) -- if one operand is an infinity and the other operand is a nonzero finite number or an infinity, then the result of the * operator is an infinity; I'll note the above comes from n1124.pdf (page 468). Perhaps, the actual C99 standard says something else. -nan is not an infinity.