------- Comment #2 from jvdelisle at gcc dot gnu dot org 2008-06-03 02:16 ------- Tobias, I think it needs to go farther down to just before here:
/* Select a width if none was specified. The idea here is to always print something. */ The standard says to ignore the w.d in the G descriptor, so I think we want to be past after this: if (m == 0 && n == 0) { if (w == 0) w = 1; p = write_block (dtp, w); if (p == NULL) return; memset (p, ' ', w); goto done; } Otherwise w will get set to 1 and not get ignored. Also you example uses a0 which is also rejected. I have a patch for that. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36421