fix commit a80d536
We cannot use ARCH_INTNAT_PRINTF_FORMAT because it isn't guaranteed to match values of type size_t. Since this is debugging code, we go for the simple solution and cast to long.master
parent
f9b8bc6d7c
commit
67d88cb9f9
|
@ -183,21 +183,20 @@ caml_trace_value_file (value v, code_t prog, int proglen, FILE * f)
|
||||||
if (prog && v % sizeof (int) == 0
|
if (prog && v % sizeof (int) == 0
|
||||||
&& (code_t) v >= prog
|
&& (code_t) v >= prog
|
||||||
&& (code_t) v < (code_t) ((char *) prog + proglen))
|
&& (code_t) v < (code_t) ((char *) prog + proglen))
|
||||||
fprintf (f, "=code@%" ARCH_INTNAT_PRINTF_FORMAT "d", (code_t) v - prog);
|
fprintf (f, "=code@%ld", (long) ((code_t) v - prog));
|
||||||
else if (Is_long (v))
|
else if (Is_long (v))
|
||||||
fprintf (f, "=long%" ARCH_INTNAT_PRINTF_FORMAT "d", Long_val (v));
|
fprintf (f, "=long%" ARCH_INTNAT_PRINTF_FORMAT "d", Long_val (v));
|
||||||
else if ((void*)v >= (void*)caml_stack_low
|
else if ((void*)v >= (void*)caml_stack_low
|
||||||
&& (void*)v < (void*)caml_stack_high)
|
&& (void*)v < (void*)caml_stack_high)
|
||||||
fprintf (f, "=stack_%" ARCH_INTNAT_PRINTF_FORMAT "d",
|
fprintf (f, "=stack_%ld", (long) ((intnat*)caml_stack_high - (intnat*)v));
|
||||||
(intnat*)caml_stack_high - (intnat*)v);
|
|
||||||
else if (Is_block (v)) {
|
else if (Is_block (v)) {
|
||||||
int s = Wosize_val (v);
|
int s = Wosize_val (v);
|
||||||
int tg = Tag_val (v);
|
int tg = Tag_val (v);
|
||||||
int l = 0;
|
int l = 0;
|
||||||
switch (tg) {
|
switch (tg) {
|
||||||
case Closure_tag:
|
case Closure_tag:
|
||||||
fprintf (f, "=closure[s%d,cod%" ARCH_INTNAT_PRINTF_FORMAT "d]",
|
fprintf (f, "=closure[s%d,cod%ld]",
|
||||||
s, (code_t) (Code_val (v)) - prog);
|
s, (long) ((code_t) (Code_val (v)) - prog));
|
||||||
goto displayfields;
|
goto displayfields;
|
||||||
case String_tag:
|
case String_tag:
|
||||||
l = caml_string_length (v);
|
l = caml_string_length (v);
|
||||||
|
@ -252,12 +251,11 @@ caml_trace_accu_sp_file (value accu, value * sp, code_t prog, int proglen,
|
||||||
value *p;
|
value *p;
|
||||||
fprintf (f, "accu=");
|
fprintf (f, "accu=");
|
||||||
caml_trace_value_file (accu, prog, proglen, f);
|
caml_trace_value_file (accu, prog, proglen, f);
|
||||||
fprintf (f, "\n sp=%#" ARCH_INTNAT_PRINTF_FORMAT "x "
|
fprintf (f, "\n sp=%#" ARCH_INTNAT_PRINTF_FORMAT "x @%ld:",
|
||||||
"@%" ARCH_INTNAT_PRINTF_FORMAT "d:",
|
(intnat) sp, (long) (caml_stack_high - sp));
|
||||||
(intnat) sp, caml_stack_high - sp);
|
|
||||||
for (p = sp, i = 0; i < 12 + (1 << caml_trace_level) && p < caml_stack_high;
|
for (p = sp, i = 0; i < 12 + (1 << caml_trace_level) && p < caml_stack_high;
|
||||||
p++, i++) {
|
p++, i++) {
|
||||||
fprintf (f, "\n[%ld] ", caml_stack_high - p);
|
fprintf (f, "\n[%ld] ", (long) (caml_stack_high - p));
|
||||||
caml_trace_value_file (*p, prog, proglen, f);
|
caml_trace_value_file (*p, prog, proglen, f);
|
||||||
};
|
};
|
||||||
putc ('\n', f);
|
putc ('\n', f);
|
||||||
|
|
Loading…
Reference in New Issue