--- src/c/compiler.d.orig 2021-02-01 05:59:46.000000000 -0700 +++ src/c/compiler.d 2021-02-01 08:18:32.319218522 -0700 @@ -3268,7 +3268,7 @@ si_valid_function_name_p(cl_object name) cl_object si_make_lambda(cl_object name, cl_object rest) { - cl_object lambda; + cl_object lambda = ECL_NIL; const cl_env_ptr the_env = ecl_process_env(); cl_compiler_env_ptr old_c_env = the_env->c_env; struct cl_compiler_env new_c_env; --- src/c/ffi.d.orig 2021-02-01 05:59:46.000000000 -0700 +++ src/c/ffi.d 2021-02-01 08:18:32.321218518 -0700 @@ -766,7 +766,7 @@ si_load_foreign_module(cl_object filenam #if !defined(ENABLE_DLOPEN) FEerror("SI:LOAD-FOREIGN-MODULE does not work when ECL is statically linked", 0); #else - cl_object output; + cl_object output = ECL_NIL; # ifdef ECL_THREADS mp_get_lock_wait(ecl_symbol_value(@'mp::+load-compile-lock+')); --- src/cmp/cmpcatch.lsp.orig 2021-02-01 05:59:46.000000000 -0700 +++ src/cmp/cmpcatch.lsp 2021-02-01 08:18:32.322218515 -0700 @@ -86,6 +86,7 @@ (let ((*unwind-exit* (cons 'FRAME *unwind-exit*)) (*destination* 'VALUES)) (c2expr* form)) + (wt-nl " next_fr = NULL;") (wt-nl "}") (wt-nl "ecl_frs_pop(cl_env_copy);") ;; Here we save the values of the form which might have been --- src/cmp/cmpwt.lsp.orig 2021-02-01 05:59:46.000000000 -0700 +++ src/cmp/cmpwt.lsp 2021-02-01 08:18:32.322218515 -0700 @@ -106,10 +106,10 @@ (*wt-data-column* 80) (s (with-output-to-string (stream) (wt-filtered-data string stream)))) - (format stream "static const struct ecl_base_string ~A[] = { + (format stream "static const struct ecl_base_string ~A[] = { { (int8_t)t_base_string, 0, ecl_aet_bc, 0, ECL_NIL, (cl_index)~D, (cl_index)~D, - (ecl_base_char*)~A };~%" + (ecl_base_char*)~A } };~%" name *wt-string-size* *wt-string-size* s) name)) (output-c-strings (strings stream) --- src/c/number.d.orig 2021-02-01 05:59:46.000000000 -0700 +++ src/c/number.d 2021-02-01 08:18:32.323218513 -0700 @@ -630,6 +630,7 @@ si_complex_float(cl_object r, cl_object break; default: ecl_type_error(@'si::complex-float',"real part", r, @'float'); + result = ECL_NIL; } return result; } --- src/c/numbers/ceiling.d.orig 2021-02-01 05:59:46.000000000 -0700 +++ src/c/numbers/ceiling.d 2021-02-01 08:18:32.324218511 -0700 @@ -143,7 +143,7 @@ ecl_ceiling2(cl_object x, cl_object y) break; } default: - (void)0; /*Never reached */ + __builtin_unreachable(); /*Never reached */ } break; case t_bignum: @@ -187,7 +187,7 @@ ecl_ceiling2(cl_object x, cl_object y) break; } default: - (void)0; /*Never reached */ + __builtin_unreachable(); /*Never reached */ } break; case t_ratio: --- src/c/num_log.d.orig 2021-02-01 05:59:46.000000000 -0700 +++ src/c/num_log.d 2021-02-01 08:18:32.324218511 -0700 @@ -476,7 +476,7 @@ cl_object si_bit_array_op(cl_object o, cl_object x, cl_object y, cl_object r) { cl_fixnum i, j, n, d; - cl_object r0; + cl_object r0 = ECL_NIL; bit_operator op; bool replace = FALSE; int xi, yi, ri; --- src/c/num_rand.d.orig 2021-02-01 05:59:46.000000000 -0700 +++ src/c/num_rand.d 2021-02-01 08:18:32.325218508 -0700 @@ -211,7 +211,8 @@ init_random_state(void) * a lot of entropy, so use open() */ int file_handler = open("/dev/urandom", O_RDONLY); if (file_handler != -1) { - read(file_handler, &seed, sizeof(ulong)); + if (read(file_handler, &seed, sizeof(ulong)) < 0) + seed = (rand() + time(0)); close(file_handler); } else #endif --- src/c/printer/write_ugly.d.orig 2021-02-01 05:59:46.000000000 -0700 +++ src/c/printer/write_ugly.d 2021-02-01 08:18:32.326218506 -0700 @@ -135,6 +135,8 @@ write_complex_float(cl_object f, cl_obje imag = ecl_make_long_float(cimagl(ecl_clfloat(f))); break; default: + real = ECL_NIL; + imag = ECL_NIL; break; } writestr_stream("#C(", stream); --- src/h/ecl-inl.h.orig 2021-02-01 05:59:46.000000000 -0700 +++ src/h/ecl-inl.h 2021-02-01 08:18:32.328218501 -0700 @@ -164,7 +164,7 @@ static const struct ecl_vector name ## _data = { \ (int8_t)t_vector, 0, (type), 0, \ ECL_NIL, (cl_index)(len), (cl_index)(len), \ - ecl_cast_ptr(cl_object*,raw), 0 }; \ + { ecl_cast_ptr(cl_object*,raw) }, 0 }; \ static const cl_object name = (cl_object)(& name ## _data) #ifdef ECL_SSE2 --- src/h/stacks.h.orig 2021-02-01 05:59:46.000000000 -0700 +++ src/h/stacks.h 2021-02-01 08:18:32.328218501 -0700 @@ -446,7 +446,7 @@ extern ECL_API ecl_frame_ptr _ecl_frs_pu } else { #define ECL_UNWIND_PROTECT_EXIT \ - __unwinding=0; } \ + __unwinding=0; __next_fr=NULL; } \ ecl_frs_pop(__the_env); \ __nr = ecl_stack_push_values(__the_env);