guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 152/437: Remove most type casts and compile test tool si


From: Andy Wingo
Subject: [Guile-commits] 152/437: Remove most type casts and compile test tool silently with -Wall
Date: Mon, 2 Jul 2018 05:14:07 -0400 (EDT)

wingo pushed a commit to branch lightning
in repository guile.

commit 074056499fc00890c927f80aa6dc8f7ca2d8a440
Author: pcpa <address@hidden>
Date:   Fri Dec 14 14:15:25 2012 -0200

    Remove most type casts and compile test tool silently with -Wall
---
 ChangeLog           |  8 ++++++++
 check/lightning.c   |  6 +++---
 include/lightning.h | 36 +++++++++++++++++++++---------------
 lib/lightning.c     | 14 ++++++++++++++
 4 files changed, 46 insertions(+), 18 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 23b4c7c..c7149bf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-12-14 Paulo Andrade <address@hidden>
+
+       * include/lightning.h, lib/lightning.c: Add two extra wrapper
+       functions to avoid need for excess pointer to/from word casts.
+
+       * check/lightning.c: Only need for pointer to/from word cast
+       now is jit_movi, update accordingly.
+
 2012-12-13 Paulo Andrade <address@hidden>
 
        * check/varargs.ok, check/varargs.tst: New test cases implementing
diff --git a/check/lightning.c b/check/lightning.c
index 2226da9..495ca60 100644
--- a/check/lightning.c
+++ b/check/lightning.c
@@ -855,7 +855,7 @@ get_imm(void)
            break;
        case '@':
            dynamic();
-           value = parser.value.p;
+           value = (long)parser.value.p;
            break;
        default:
            ungetch(ch);
@@ -1292,11 +1292,11 @@ movi(void)
            ungetch(ch);
            label = get_label(skip_none);
            if (label->kind == label_kind_code_forward)
-               mov_forward((void *)jit_movi(r0, NULL), label);
+               mov_forward((void *)jit_movi(r0, 0), label);
            value = label->value;
            break;
     }
-    jit_movi(r0, value);
+    jit_movi(r0, (jit_word_t)value);
 }
 entry_ir_ir(extr_c)            entry_ir_ir(extr_uc)
 entry_ir_ir(extr_s)            entry_ir_ir(extr_us)
diff --git a/include/lightning.h b/include/lightning.h
index 7a38276..3669695 100644
--- a/include/lightning.h
+++ b/include/lightning.h
@@ -244,19 +244,19 @@ typedef enum {
     jit_code_htonr,
 
 #define jit_ldr_c(u,v)         jit_new_node_ww(jit_code_ldr_c,u,v)
-#define jit_ldi_c(u,v)         jit_new_node_ww(jit_code_ldi_c,u,v)
+#define jit_ldi_c(u,v)         jit_new_node_wp(jit_code_ldi_c,u,v)
     jit_code_ldr_c,            jit_code_ldi_c,
 #define jit_ldr_uc(u,v)                jit_new_node_ww(jit_code_ldr_uc,u,v)
-#define jit_ldi_uc(u,v)                jit_new_node_ww(jit_code_ldi_uc,u,v)
+#define jit_ldi_uc(u,v)                jit_new_node_wp(jit_code_ldi_uc,u,v)
     jit_code_ldr_uc,           jit_code_ldi_uc,
 #define jit_ldr_s(u,v)         jit_new_node_ww(jit_code_ldr_s,u,v)
-#define jit_ldi_s(u,v)         jit_new_node_ww(jit_code_ldi_s,u,v)
+#define jit_ldi_s(u,v)         jit_new_node_wp(jit_code_ldi_s,u,v)
     jit_code_ldr_s,            jit_code_ldi_s,
 #define jit_ldr_us(u,v)                jit_new_node_ww(jit_code_ldr_us,u,v)
-#define jit_ldi_us(u,v)                jit_new_node_ww(jit_code_ldi_us,u,v)
+#define jit_ldi_us(u,v)                jit_new_node_wp(jit_code_ldi_us,u,v)
     jit_code_ldr_us,           jit_code_ldi_us,
 #define jit_ldr_i(u,v)         jit_new_node_ww(jit_code_ldr_i,u,v)
-#define jit_ldi_i(u,v)         jit_new_node_ww(jit_code_ldi_i,u,v)
+#define jit_ldi_i(u,v)         jit_new_node_wp(jit_code_ldi_i,u,v)
     jit_code_ldr_i,            jit_code_ldi_i,
 #if __WORDSIZE == 32
 #  define jit_ldr(u,v)         jit_ldr_i(u,v)
@@ -265,9 +265,9 @@ typedef enum {
 #  define jit_ldr(u,v)         jit_ldr_l(u,v)
 #  define jit_ldi(u,v)         jit_ldi_l(u,v)
 #  define jit_ldr_ui(u,v)      jit_new_node_ww(jit_code_ldr_ui,u,v)
-#  define jit_ldi_ui(u,v)      jit_new_node_ww(jit_code_ldi_ui,u,v)
+#  define jit_ldi_ui(u,v)      jit_new_node_wp(jit_code_ldi_ui,u,v)
 #define jit_ldr_l(u,v)         jit_new_node_ww(jit_code_ldr_l,u,v)
-#define jit_ldi_l(u,v)         jit_new_node_ww(jit_code_ldi_l,u,v)
+#define jit_ldi_l(u,v)         jit_new_node_wp(jit_code_ldi_l,u,v)
 #endif
     jit_code_ldr_ui,           jit_code_ldi_ui,
     jit_code_ldr_l,            jit_code_ldi_l,
@@ -302,13 +302,13 @@ typedef enum {
     jit_code_ldxr_l,           jit_code_ldxi_l,
 
 #define jit_str_c(u,v)         jit_new_node_ww(jit_code_str_c,u,v)
-#define jit_sti_c(u,v)         jit_new_node_ww(jit_code_sti_c,u,v)
+#define jit_sti_c(u,v)         jit_new_node_pw(jit_code_sti_c,u,v)
     jit_code_str_c,            jit_code_sti_c,
 #define jit_str_s(u,v)         jit_new_node_ww(jit_code_str_s,u,v)
-#define jit_sti_s(u,v)         jit_new_node_ww(jit_code_sti_s,u,v)
+#define jit_sti_s(u,v)         jit_new_node_pw(jit_code_sti_s,u,v)
     jit_code_str_s,            jit_code_sti_s,
 #define jit_str_i(u,v)         jit_new_node_ww(jit_code_str_i,u,v)
-#define jit_sti_i(u,v)         jit_new_node_ww(jit_code_sti_i,u,v)
+#define jit_sti_i(u,v)         jit_new_node_pw(jit_code_sti_i,u,v)
     jit_code_str_i,            jit_code_sti_i,
 #if __WORDSIZE == 32
 #  define jit_str(u,v)         jit_str_i(u,v)
@@ -317,7 +317,7 @@ typedef enum {
 #  define jit_str(u,v)         jit_str_l(u,v)
 #  define jit_sti(u,v)         jit_sti_l(u,v)
 #  define jit_str_l(u,v)       jit_new_node_ww(jit_code_str_l,u,v)
-#  define jit_sti_l(u,v)       jit_new_node_ww(jit_code_sti_l,u,v)
+#  define jit_sti_l(u,v)       jit_new_node_pw(jit_code_sti_l,u,v)
 #endif
     jit_code_str_l,            jit_code_sti_l,
 
@@ -517,13 +517,13 @@ typedef enum {
     jit_code_movr_f,           jit_code_movi_f,
 
 #define jit_ldr_f(u,v)         jit_new_node_ww(jit_code_ldr_f,u,v)
-#define jit_ldi_f(u,v)         jit_new_node_ww(jit_code_ldi_f,u,v)
+#define jit_ldi_f(u,v)         jit_new_node_wp(jit_code_ldi_f,u,v)
     jit_code_ldr_f,            jit_code_ldi_f,
 #define jit_ldxr_f(u,v,w)      jit_new_node_www(jit_code_ldxr_f,u,v,w)
 #define jit_ldxi_f(u,v,w)      jit_new_node_www(jit_code_ldxi_f,u,v,w)
     jit_code_ldxr_f,           jit_code_ldxi_f,
 #define jit_str_f(u,v)         jit_new_node_ww(jit_code_str_f,u,v)
-#define jit_sti_f(u,v)         jit_new_node_ww(jit_code_sti_f,u,v)
+#define jit_sti_f(u,v)         jit_new_node_pw(jit_code_sti_f,u,v)
     jit_code_str_f,            jit_code_sti_f,
 #define jit_stxr_f(u,v,w)      jit_new_node_www(jit_code_stxr_f,u,v,w)
 #define jit_stxi_f(u,v,w)      jit_new_node_www(jit_code_stxi_f,u,v,w)
@@ -662,13 +662,13 @@ typedef enum {
     jit_code_movr_d,           jit_code_movi_d,
 
 #define jit_ldr_d(u,v)         jit_new_node_ww(jit_code_ldr_d,u,v)
-#define jit_ldi_d(u,v)         jit_new_node_ww(jit_code_ldi_d,u,v)
+#define jit_ldi_d(u,v)         jit_new_node_wp(jit_code_ldi_d,u,v)
     jit_code_ldr_d,            jit_code_ldi_d,
 #define jit_ldxr_d(u,v,w)      jit_new_node_www(jit_code_ldxr_d,u,v,w)
 #define jit_ldxi_d(u,v,w)      jit_new_node_www(jit_code_ldxi_d,u,v,w)
     jit_code_ldxr_d,           jit_code_ldxi_d,
 #define jit_str_d(u,v)         jit_new_node_ww(jit_code_str_d,u,v)
-#define jit_sti_d(u,v)         jit_new_node_ww(jit_code_sti_d,u,v)
+#define jit_sti_d(u,v)         jit_new_node_pw(jit_code_sti_d,u,v)
     jit_code_str_d,            jit_code_sti_d,
 #define jit_stxr_d(u,v,w)      jit_new_node_www(jit_code_stxr_d,u,v,w)
 #define jit_stxi_d(u,v,w)      jit_new_node_www(jit_code_stxi_d,u,v,w)
@@ -818,6 +818,12 @@ extern jit_node_t *_jit_new_node_p(jit_state_t*, 
jit_code_t,
 #define jit_new_node_ww(c,u,v) _jit_new_node_ww(_jit,c,u,v)
 extern jit_node_t *_jit_new_node_ww(jit_state_t*,jit_code_t,
                                    jit_word_t, jit_word_t);
+#define jit_new_node_wp(c,u,v) _jit_new_node_wp(_jit,c,u,v)
+extern jit_node_t *_jit_new_node_wp(jit_state_t*,jit_code_t,
+                                   jit_word_t, jit_pointer_t);
+#define jit_new_node_pw(c,u,v) _jit_new_node_pw(_jit,c,u,v)
+extern jit_node_t *_jit_new_node_pw(jit_state_t*,jit_code_t,
+                                   jit_pointer_t, jit_word_t);
 #define jit_new_node_wf(c,u,v) _jit_new_node_wf(_jit,c,u,v)
 extern jit_node_t *_jit_new_node_wf(jit_state_t*, jit_code_t,
                                    jit_word_t, jit_float32_t);
diff --git a/lib/lightning.c b/lib/lightning.c
index 1a49ffe..94a3580 100644
--- a/lib/lightning.c
+++ b/lib/lightning.c
@@ -569,6 +569,20 @@ _jit_new_node_ww(jit_state_t *_jit, jit_code_t code,
 }
 
 jit_node_t *
+_jit_new_node_wp(jit_state_t *_jit, jit_code_t code,
+                jit_word_t u, jit_pointer_t v)
+{
+    return (jit_new_node_ww(code, u, (jit_word_t)v));
+}
+
+jit_node_t *
+_jit_new_node_pw(jit_state_t *_jit, jit_code_t code,
+                jit_pointer_t u, jit_word_t v)
+{
+    return (jit_new_node_ww(code, (jit_word_t)u, v));
+}
+
+jit_node_t *
 _jit_new_node_wf(jit_state_t *_jit, jit_code_t code,
                 jit_word_t u, jit_float32_t v)
 {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]