http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48852
--- Comment #5 from Janne Blomqvist <jb at gcc dot gnu.org> 2011-05-05 12:11:02 UTC --- (In reply to comment #4) > (In reply to comment #3) > > neither 0PFw.d nor 1PEw.dEe allow it). However, AFAICS leading blanks are > > still > > allowed as they are part of the real parts, the prohibition against embedded > > blanks in the complex output refer only to blanks other than the ones > > present > > in the real fields, no? > > As much as I'd like to, I cannot agree: > > "The only embedded blanks permitted within a complex constant are between the > separator and the end of a record and one blank at the beginning of the next > record." > > An "embedded blank within a complex constant" is any blank which neither leads > the complex constant nor trails it; in other words, any space between the left > and the right parenthesis. It is not permitted, except around record breaks. Thinking about this some more, I think you're right. If not, the processor could after all choose w such that any amount of leading blanks are present, thus rendering more or less the entire rule forbidding embedded blanks (except at those 2 specified locations if the constant straddles a record boundary) meaningless. I asked c.l.f, lets see if someone knowledgeable disagrees.. > If it is important, we can still ensure the tabular alignment of complex > fields > by right-flushing them in a field of width 2*w+3, where w is the width for a > real constant. Yes, I suppose this is what must be done.