From: Thiemo Seufer Date: Wed, 25 Jul 2007 22:21:46 +0000 (+0000) Subject: 1.0.8.5: Conform to strict aliasing rules. X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=9724274ab5985705dc1ab7bb3be40423ac4c5e14;p=sbcl.git 1.0.8.5: Conform to strict aliasing rules. --- diff --git a/src/runtime/mips-linux-os.c b/src/runtime/mips-linux-os.c index 1028b83..165fc29 100644 --- a/src/runtime/mips-linux-os.c +++ b/src/runtime/mips-linux-os.c @@ -49,20 +49,26 @@ arch_os_thread_cleanup(struct thread *thread) os_context_register_t * os_context_register_addr(os_context_t *context, int offset) { - return &(((struct sigcontext *)&(context->uc_mcontext))->sc_regs[offset]); + mcontext_t *mctx = &context->uc_mcontext; + struct sigcontext *ctx = (struct sigcontext *)mctx; + return &ctx->sc_regs[offset]; } os_context_register_t * os_context_fpregister_addr(os_context_t *context, int offset) { - return &(((struct sigcontext *)&(context->uc_mcontext))->sc_fpregs[offset]); + mcontext_t *mctx = &context->uc_mcontext; + struct sigcontext *ctx = (struct sigcontext *)mctx; + return &ctx->sc_fpregs[offset]; } os_context_register_t * os_context_pc_addr(os_context_t *context) { /* Why do I get all the silly ports? -- CSR, 2002-08-11 */ - return &(((struct sigcontext *)&(context->uc_mcontext))->sc_pc); + mcontext_t *mctx = &context->uc_mcontext; + struct sigcontext *ctx = (struct sigcontext *)mctx; + return &ctx->sc_pc; } sigset_t * diff --git a/version.lisp-expr b/version.lisp-expr index 3b89965..0f84568 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".) -"1.0.8.4" +"1.0.8.5"