www.digitalmars.com         C & C++   DMDScript  

D.gnu - 3 bugs printf:

WinXP & mingw32
gdc.exe (GCC) 3.4.5 (mingw special) (gdc 0.19, using dmd 0.162)

===========================================
$ cat fmt.d
import std.string;

void doNothing(char[] s) {
}

int main(char[][] args)
{
  int i;
  byte c = -1;
  char ch;
  ulong ul = 16301950722997352413UL;

  printf("0x%016llX\n", ul);

  printf("0x%02hhX\n", c);  // Error: std.format formatArg
  doNothing(format("0x%02hhX\n", c));  // Error: std.format formatArg
  doNothing("here"~ch);
  doNothing(format("// %d: %.*s\n", i, "there"));
  return 0;
}
===========================================
dmd gives:
$ ./fmt.exe
0xE23C29CFA62DF7DD
0xFF
Error: std.format formatArg

===========================================
$ ./fmt.exe
0x00000000A62DF7DD
0xFFFF
Error: std.format formatArg
===========================================
Aug 22 2006