From 4dc2435aef1e447fe0cf370edb1db7d9f37fe385 Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Wed, 18 Dec 1996 21:42:09 +0000 Subject: [PATCH] In some cases, the code is fine, but GCC isn't smart enough to figure that out; this usually happens when one variable is only initialized and used when a particular condition holds true, and we know that condition will never change within a given invocation of the function. In this case, we simply initialize the variables to placate the compiler, hopefully to a value which will cause a crash if it is ever actually used. * print.c (scm_iprin1): Initialize mw_pos. * read.c (scm_lreadrecparen): Initialize tl2, ans2. * throw.c (scm_ithrow): Initialize dynpair. * unif.c (scm_uniform_vector_ref): Initialize cra. * struct.c (init_struct): Initialize prot. * mbstrings.c (scm_print_mb_symbol): Initialize mw_pos and inc. --- libguile/mbstrings.c | 4 ++-- libguile/print.c | 2 +- libguile/read.c | 4 ++-- libguile/throw.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libguile/mbstrings.c b/libguile/mbstrings.c index 520847596..41e04bf80 100644 --- a/libguile/mbstrings.c +++ b/libguile/mbstrings.c @@ -383,8 +383,8 @@ scm_print_mb_symbol (exp, port) char * str; int weird; int maybe_weird; - int mw_pos; - int inc; + int mw_pos = 0; /* initialized to placate compiler */ + int inc = 0; /* same */ xwchar_t c; len = SCM_LENGTH (exp); diff --git a/libguile/print.c b/libguile/print.c index 75ae40e6f..adc70482c 100644 --- a/libguile/print.c +++ b/libguile/print.c @@ -411,7 +411,7 @@ taloop: char * str; int weird; int maybe_weird; - int mw_pos; + int mw_pos = 0; len = SCM_LENGTH (exp); str = SCM_CHARS (exp); diff --git a/libguile/read.c b/libguile/read.c index fec5bf775..48badf976 100644 --- a/libguile/read.c +++ b/libguile/read.c @@ -696,8 +696,8 @@ scm_lreadrecparen (tok_buf, port, name, case_i, sharp, copy) { register int c; register SCM tmp; - register SCM tl, tl2; - SCM ans, ans2; + register SCM tl, tl2 = SCM_EOL; + SCM ans, ans2 = SCM_EOL; /* Need to capture line and column numbers here. */ int line = SCM_LINUM (port); int column = SCM_COL (port) - 1; diff --git a/libguile/throw.c b/libguile/throw.c index 1ca91780e..7e67df4da 100644 --- a/libguile/throw.c +++ b/libguile/throw.c @@ -389,7 +389,7 @@ scm_ithrow (key, args, noreturn) } else { - SCM dynpair; + SCM dynpair = SCM_UNDEFINED; SCM winds; if (noreturn)