Ping - old patch from April - mingw support for I32/I64 MS printf formatters to c-format.c

Kai Tietz
Thu Dec 20 13:00:00 GMT 2007

Hello Danny and Joseph,

Thank you for your comments.
I moved the test case to gcc.dg/format as mentioned. No until now I didn't 
ran all test-case for this. But I am certain, we need to re-arrange things 

> Some quibles:
> MS uses the "%I" flag as a length specifier for size_t/ptrdiff_t

Ok, I changed the formatter defines for this. I reused the .._L flag for 
the 'I' type, because 'L' is no valid length specifier for MS at all. I am 
not quite sure if this ok, but it seems to work.

> Your patch still retains "I" in its gnu  extension sense.
> MS printf will get confused by it.
I removed the I flag definition now AFAIS.
>  MS printf does not handle "%hh" or "%ll" correctly and does not even
> recognize long double.

I disabled the hh and removed the floating point use of 'll'. The .._ll 
flag remains for the I64 specifier.

> Also what about  MS extension %hc' and '%lc'.
This I added to formatter rules.

 i.A. Kai Tietz

|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.

  OneVision Software Entwicklungs GmbH & Co. KG
  Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg
  Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 -
  Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
  Handelsregister: HRA 6744, Amtsgericht Regensburg
  Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH
  Dr.-Leo-Ritter-Straße 9 – 93049 Regensburg
  Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer: 
Ulrike Döhler, Manuela Kluger

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ext_formatter.txt
URL: <>

More information about the Gcc-patches mailing list