xprintf_register ('v', tarval_print);
/* register the character 'R' as variable for ir node outputs. */
xprintf_register ('R', ir_node_print);
+
/* initialize all ident stuff */
id_init ();
/* create the type kinds. */
print_func[(unsigned char)spec] = func;
}
-
int
xvgprintf (xgprintf_func *out, void *arg, const char *fmt, va_list args)
{
number of chars for from string */
int qualifier; /* 'h', 'l', or 'L' for integer fields */
+ unsigned short helper_short;
+
done = 0;
#define P(__b,__l) do { out (arg, __b, __l); done += __l; } while (0)
case 'x': /* heXadecimal */
base = 16;
number: /* get and print a unsigned number */
+
if (qualifier == 'l')
num = va_arg(args, unsigned long);
else if (qualifier == 'h')
- num = va_arg(args, unsigned short);
+ /* vormals unsigned short, falsch fuer gcc 2.96
+ siehe http://mail.gnu.org/pipermail/discuss-gnustep/1999-October/010624.html */
+ num = va_arg(args, unsigned int);
else
num = va_arg(args, unsigned int);
/* ANSI only specifies the `+' and ` ' flags for signed conversions. */
if (qualifier == 'l')
signed_num = va_arg(args, long);
else if (qualifier == 'h')
- signed_num = va_arg(args, short);
+ /* vormals short, falsch fuer gcc 2.96 siehe
+ http://mail.gnu.org/pipermail/discuss-gnustep/1999-October/010624.html */
+ signed_num = va_arg(args, int);
else
signed_num = va_arg(args, int);
num = (is_neg = signed_num < 0) ? - signed_num : signed_num;