[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)
{
- [Guile-commits] 191/437: Add updated sparc example from lightning 1.2c documentation., (continued)
- [Guile-commits] 191/437: Add updated sparc example from lightning 1.2c documentation., Andy Wingo, 2018/07/02
- [Guile-commits] 151/437: Add new varargs test and correct related test case failures in all ports., Andy Wingo, 2018/07/02
- [Guile-commits] 198/437: Remove non optional gmp dependency., Andy Wingo, 2018/07/02
- [Guile-commits] 202/437: Ensure the end argument of __clear_cache is page aligned., Andy Wingo, 2018/07/02
- [Guile-commits] 197/437: Adapt PowerPC port to work in Darwin 32 bit and Linux 64 bit., Andy Wingo, 2018/07/02
- [Guile-commits] 184/437: Implement the "live" code to explicitly tell a register is live., Andy Wingo, 2018/07/02
- [Guile-commits] 149/437: Make all current test cases pass in Darwin PowerPC., Andy Wingo, 2018/07/02
- [Guile-commits] 113/437: Change JIT_REXTMP, JIT_R, JIT_V to use 64-bit registers, Andy Wingo, 2018/07/02
- [Guile-commits] 173/437: Add filename and line number annotation abstraction., Andy Wingo, 2018/07/02
- [Guile-commits] 201/437: Do not start over jit generation if can safely grow buffer size., Andy Wingo, 2018/07/02
- [Guile-commits] 152/437: Remove most type casts and compile test tool silently with -Wall,
Andy Wingo <=
- [Guile-commits] 208/437: Implement fpr register arguments and minor extra fixes., Andy Wingo, 2018/07/02
- [Guile-commits] 211/437: Correct the cvt.tst test case on Itanium., Andy Wingo, 2018/07/02
- [Guile-commits] 187/437: Correct regression with float arguments in arm hardp, Andy Wingo, 2018/07/02
- [Guile-commits] 200/437: Add a simple memory management wrapper., Andy Wingo, 2018/07/02
- [Guile-commits] 196/437: Add missing __ppc__ definition., Andy Wingo, 2018/07/02
- [Guile-commits] 159/437: Correct stack.tst test case on ppc. Now all tests pass in all backends., Andy Wingo, 2018/07/02
- [Guile-commits] 172/437: Rework {get, push}arg{, i, r}_{f, d} to a more descriptive name and usage., Andy Wingo, 2018/07/02
- [Guile-commits] 221/437: Correct build and pass all tests on Solaris Sparc., Andy Wingo, 2018/07/02
- [Guile-commits] 228/437: Properly check tests output., Andy Wingo, 2018/07/02
- [Guile-commits] 186/437: Add code to release all memory used by the jit state., Andy Wingo, 2018/07/02