0.9.4.53:
authorThiemo Seufer <ths@networkno.de>
Fri, 9 Sep 2005 11:39:33 +0000 (11:39 +0000)
committerThiemo Seufer <ths@networkno.de>
Fri, 9 Sep 2005 11:39:33 +0000 (11:39 +0000)
Hunt down compiler warnings.

src/runtime/backtrace.c
src/runtime/gc-common.c
src/runtime/interrupt.c
src/runtime/monitor.c
src/runtime/validate.c
version.lisp-expr

index 471e84d..45a3ce5 100644 (file)
@@ -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;
index a8f6aaf..251aa6a 100644 (file)
@@ -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;
index 648850f..6601a95 100644 (file)
@@ -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();
index ec80a93..87590b1 100644 (file)
@@ -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;
         }
index d417a7e..e11b0bf 100644 (file)
@@ -20,6 +20,7 @@
 #include "runtime.h"
 #include "os.h"
 #include "globals.h"
+#include "interr.h"
 #include "validate.h"
 
 static void
index 9e3a38c..e95d9b9 100644 (file)
@@ -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"