On 5/14/07, Mike Stump <[EMAIL PROTECTED]> wrote:
On May 14, 2007, at 11:27 AM, Mike Stump wrote: > I'm seeing: > > If I do this:> it gets farther. Next error would be: ../../gcc/gcc/sched-vis.c: In function 'print_value': ../../gcc/gcc/sched-vis.c:433: error: format '%lx' expects type 'long unsigned int', but argument 3 has type 'long int' ../../gcc/gcc/sched-vis.c:433: error: format '%lx' expects type 'long unsigned int', but argument 4 has type 'long int' make[3]: *** [sched-vis.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [all-stage2-gcc] Error 2 seems to be fixed by: Doing diffs in sched-vis.c.~1~: --- sched-vis.c.~1~ 2006-11-16 23:24:48.000000000 -0800 +++ sched-vis.c 2007-05-14 11:37:32.000000000 -0700 @@ -430,7 +430,7 @@ print_value (char *buf, rtx x, int verbo if (FLOAT_MODE_P (GET_MODE (x))) real_to_decimal (t, CONST_DOUBLE_REAL_VALUE (x), sizeof (t), 0, 1); else - sprintf (t, "<0x%lx,0x%lx>", (long) CONST_DOUBLE_LOW (x), (long) CONST_DOUBLE_HIGH (x)); + sprintf (t, "<0x%lux,0x%lux>", (long) CONST_DOUBLE_LOW (x), (long) CONST_DOUBLE_HIGH (x)); cur = safe_concat (buf, cur, t); break; case CONST_STRING: -------------- Again, seems harmless enough...
But wrong. %lx is already accepting unsigned long. I think the change to c-format.c was wrong and the removal of c_common_unsigned_type was wrong. -- Pinski
