From 2176bfdd1be53c65b8d6645c31f49f756e2dd3b1 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 6 Mar 2014 00:49:27 -0800 Subject: g++ regressions. * eval.c (env_k): Duplicate global variable definition removed. * lib.c (vector, vec_set_length): Fixed signed/unsigned comparison warnings. * stream.h (stdin_s, stdout_s, stddebug_s, stderr_s, stdnull_s): Declarations were definitions due to missing extern. --- ChangeLog | 12 ++++++++++++ eval.c | 2 +- lib.c | 4 ++-- stream.h | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4d3b3db0..5eb3b356 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2014-03-06 Kaz Kylheku + + g++ regressions. + + * eval.c (env_k): Duplicate global variable definition removed. + + * lib.c (vector, vec_set_length): Fixed signed/unsigned comparison + warnings. + + * stream.h (stdin_s, stdout_s, stddebug_s, stderr_s, stdnull_s): + Declarations were definitions due to missing extern. + 2014-03-05 Kaz Kylheku * txr.c (txr_main): Don't push back arg into arg_list if arg is nil. diff --git a/eval.c b/eval.c index 51339182..00b448ce 100644 --- a/eval.c +++ b/eval.c @@ -86,7 +86,7 @@ val vector_lit_s, vector_list_s; val macro_time_s, with_saved_vars_s, macrolet_s; val defsymacro_s, symacrolet_s; -val special_s, whole_k, env_k; +val special_s, whole_k; val last_form_evaled; diff --git a/lib.c b/lib.c index d28d16d7..08d324c5 100644 --- a/lib.c +++ b/lib.c @@ -3860,7 +3860,7 @@ val vector(val length, val initval) int i; cnum alloc_plus = c_num(length) + 2; size_t size = alloc_plus * sizeof (val); - val *v = (size / sizeof *v == alloc_plus) + val *v = ((cnum) (size / sizeof *v) == alloc_plus) ? (val *) chk_malloc(size) : (val *) uw_throwf(error_s, lit("vector: length ~a is too large"), length, nao); @@ -3895,7 +3895,7 @@ val vec_set_length(val vec, val length) cnum length_delta = new_length - old_length; cnum alloc_delta = new_length - old_alloc; - if (new_length > ((size_t) -1)/(sizeof (val)) - 2) + if (new_length > (cnum) ((size_t) -1/sizeof (val) - 2)) uw_throwf(error_s, lit("vec-set-length: cannot extend to length ~s"), length, nao); diff --git a/stream.h b/stream.h index 04cdeb26..edd1acc4 100644 --- a/stream.h +++ b/stream.h @@ -62,7 +62,7 @@ extern val atime_k, mtime_k, ctime_k; extern val from_start_k, from_current_k, from_end_k; extern val real_time_k, name_k; -val stdin_s, stdout_s, stddebug_s, stderr_s, stdnull_s; +extern val stdin_s, stdout_s, stddebug_s, stderr_s, stdnull_s; val make_null_stream(void); val make_stdio_stream(FILE *, val descr); -- cgit v1.2.3