From be7adb92bf0012ab07adac2943e73772dfad7911 Mon Sep 17 00:00:00 2001 From: Thiemo Seufer Date: Fri, 9 Sep 2005 11:39:33 +0000 Subject: [PATCH] 0.9.4.53: Hunt down compiler warnings. --- src/runtime/backtrace.c | 11 ++++++----- src/runtime/gc-common.c | 2 +- src/runtime/interrupt.c | 21 ++++++++++++--------- src/runtime/monitor.c | 22 ++++++++++------------ src/runtime/validate.c | 1 + version.lisp-expr | 2 +- 6 files changed, 31 insertions(+), 28 deletions(-) diff --git a/src/runtime/backtrace.c b/src/runtime/backtrace.c index 471e84d..45a3ce5 100644 --- a/src/runtime/backtrace.c +++ b/src/runtime/backtrace.c @@ -133,15 +133,16 @@ call_info_from_context(struct call_info *info, os_context_t *context) /* We tried to call a function, but crapped out before $CODE could * be fixed up. Probably an undefined function. */ info->frame = - (struct call_frame *)(*os_context_register_addr(context, - reg_OCFP)); + (struct call_frame *)(unsigned long) + (*os_context_register_addr(context, reg_OCFP)); info->lra = (lispobj)(*os_context_register_addr(context, reg_LRA)); info->code = code_pointer(info->lra); pc = (unsigned long)native_pointer(info->lra); } else { info->frame = - (struct call_frame *)(*os_context_register_addr(context, reg_CFP)); + (struct call_frame *)(unsigned long) + (*os_context_register_addr(context, reg_CFP)); info->code = code_pointer(*os_context_register_addr(context, reg_CODE)); info->lra = NIL; @@ -184,8 +185,8 @@ previous_info(struct call_info *info) while (free-- > 0) { os_context_t *context = thread->interrupt_contexts[free]; - if ((struct call_frame *)(*os_context_register_addr(context, - reg_CFP)) + if ((struct call_frame *)(unsigned long) + (*os_context_register_addr(context, reg_CFP)) == info->frame) { call_info_from_context(info, context); break; diff --git a/src/runtime/gc-common.c b/src/runtime/gc-common.c index a8f6aaf..251aa6a 100644 --- a/src/runtime/gc-common.c +++ b/src/runtime/gc-common.c @@ -1491,7 +1491,7 @@ trans_weak_pointer(lispobj object) gc_assert(widetag_of(wp->header)==WEAK_POINTER_WIDETAG); /* Push the weak pointer onto the list of weak pointers. */ - wp->next = LOW_WORD(weak_pointers); + wp->next = (struct weak_pointer *)LOW_WORD(weak_pointers); weak_pointers = wp; #endif return copy; diff --git a/src/runtime/interrupt.c b/src/runtime/interrupt.c index 648850f..6601a95 100644 --- a/src/runtime/interrupt.c +++ b/src/runtime/interrupt.c @@ -180,8 +180,10 @@ build_fake_control_stack_frames(struct thread *th,os_context_t *context) /* Build a fake stack frame or frames */ current_control_frame_pointer = - (lispobj *)(*os_context_register_addr(context, reg_CSP)); - if ((lispobj *)(*os_context_register_addr(context, reg_CFP)) + (lispobj *)(unsigned long) + (*os_context_register_addr(context, reg_CSP)); + if ((lispobj *)(unsigned long) + (*os_context_register_addr(context, reg_CFP)) == current_control_frame_pointer) { /* There is a small window during call where the callee's * frame isn't built yet. */ @@ -233,7 +235,8 @@ fake_foreign_function_call(os_context_t *context) /* Get current Lisp state from context. */ #ifdef reg_ALLOC dynamic_space_free_pointer = - (lispobj *)(*os_context_register_addr(context, reg_ALLOC)); + (lispobj *)(unsigned long) + (*os_context_register_addr(context, reg_ALLOC)); #if defined(LISP_FEATURE_ALPHA) if ((long)dynamic_space_free_pointer & 1) { lose("dead in fake_foreign_function_call, context = %x", context); @@ -242,7 +245,8 @@ fake_foreign_function_call(os_context_t *context) #endif #ifdef reg_BSP current_binding_stack_pointer = - (lispobj *)(*os_context_register_addr(context, reg_BSP)); + (lispobj *)(unsigned long) + (*os_context_register_addr(context, reg_BSP)); #endif build_fake_control_stack_frames(thread,context); @@ -858,11 +862,12 @@ void arrange_return_to_lisp_function(os_context_t *context, lispobj function) #else /* this much of the calling convention is common to all non-x86 ports */ - *os_context_pc_addr(context) = (os_context_register_t)code; + *os_context_pc_addr(context) = (os_context_register_t)(unsigned long)code; *os_context_register_addr(context,reg_NARGS) = 0; - *os_context_register_addr(context,reg_LIP) = (os_context_register_t)code; + *os_context_register_addr(context,reg_LIP) = + (os_context_register_t)(unsigned long)code; *os_context_register_addr(context,reg_CFP) = - (os_context_register_t)current_control_frame_pointer; + (os_context_register_t)(unsigned long)current_control_frame_pointer; #endif #ifdef ARCH_HAS_NPC_REGISTER *os_context_npc_addr(context) = @@ -962,8 +967,6 @@ boolean interrupt_maybe_gc(int signal, siginfo_t *info, void *void_context) { os_context_t *context=(os_context_t *) void_context; - struct thread *th=arch_os_get_current_thread(); - struct interrupt_data *data=th->interrupt_data; if(!foreign_function_call_active && gc_trigger_hit(signal, info, context)){ struct thread *thread=arch_os_get_current_thread(); diff --git a/src/runtime/monitor.c b/src/runtime/monitor.c index ec80a93..87590b1 100644 --- a/src/runtime/monitor.c +++ b/src/runtime/monitor.c @@ -179,7 +179,7 @@ regs_cmd(char **ptr) printf("CSP\t=\t0x%08lX\n", (unsigned long)current_control_stack_pointer); printf("FP\t=\t0x%08lX\n", (unsigned long)current_control_frame_pointer); #if !(defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64)) - printf("BSP\t=\t0x%08X\n", (unsigned long)current_binding_stack_pointer); + printf("BSP\t=\t0x%08lX\n", (unsigned long)current_binding_stack_pointer); #endif #if 0 #if (defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64)) @@ -392,20 +392,18 @@ catchers_cmd(char **ptr) printf("There are no active catchers!\n"); else { while (catch != NULL) { -#if !(defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64)) - printf("0x%08lX:\n\tuwp: 0x%08lX\n\tfp: 0x%08lX\n\tcode: 0x%08lx\n\tentry: 0x%08lx\n\ttag: ", - (unsigned long)catch, (unsigned long)(catch->current_uwp), + printf("0x%08lX:\n\tuwp: 0x%08lX\n\tfp: 0x%08lX\n\t" + "code: 0x%08lX\n\tentry: 0x%08lX\n\ttag: ", + (unsigned long)catch, + (unsigned long)(catch->current_uwp), (unsigned long)(catch->current_cont), - catch->current_code, - catch->entry_pc); +#if defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64) + (unsigned long)component_ptr_from_pc((void*)catch->entry_pc) + + OTHER_POINTER_LOWTAG, #else - printf("0x%08lX:\n\tuwp: 0x%08lX\n\tfp: 0x%08lX\n\tcode: 0x%08lx\n\tentry: 0x%08lx\n\ttag: ", - (unsigned long)catch, (unsigned long)(catch->current_uwp), - (unsigned long)(catch->current_cont), - (unsigned long)component_ptr_from_pc((void*)catch->entry_pc) + - OTHER_POINTER_LOWTAG, - (unsigned long)catch->entry_pc); + (unsigned long)(catch->current_code), #endif + (unsigned long)(catch->entry_pc)); brief_print((lispobj)catch->tag); catch = catch->previous_catch; } diff --git a/src/runtime/validate.c b/src/runtime/validate.c index d417a7e..e11b0bf 100644 --- a/src/runtime/validate.c +++ b/src/runtime/validate.c @@ -20,6 +20,7 @@ #include "runtime.h" #include "os.h" #include "globals.h" +#include "interr.h" #include "validate.h" static void diff --git a/version.lisp-expr b/version.lisp-expr index 9e3a38c..e95d9b9 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.9.4.52" +"0.9.4.53" -- 1.7.10.4