For consistency with real floating types, the type float _Complex should be promoted by the default argument promotions to double _Complex.
Suggested Technical Corrigendum
Change 6.5.2.2p6 in part, from:
and arguments that have type float are promoted to double.
to:
and arguments that have a corresponding real type of float are promoted, without change of type domain, to a type whose corresponding real type is double.
Committee Discussion:
This was intentional because real promotion to double is in Standard C purely for compatibility with K&R. Since complex is new, that compatibility is not an issue, and having it behave like real float would introduce undesired overhead (and be less like Fortran).
Committee Response:
No technical corrigendum needed. We should add a footnote to the standard (6.5.2.2p6) or some words to the Rationale alone the lines of:
float _Complex is a new type with C99. It has no need to preserve promotions needed by pre-ANSI-C. It does not break existing code.
NOTE: The April 2000 minutes say lots to 0 was the vote to accept subgroup suggestion. The words that were presented to the Committee were not recorded. The October 1999 minutes indicate that Rationale words were drafted, but again the words were not recorded.