diff options
author | Jim Blandy <jimb@red-bean.com> | 1996-12-18 21:42:09 +0000 |
---|---|---|
committer | Jim Blandy <jimb@red-bean.com> | 1996-12-18 21:42:09 +0000 |
commit | 4dc2435aef1e447fe0cf370edb1db7d9f37fe385 (patch) | |
tree | 0122d9ce268c1885b84898cbcee4713e7659ccf5 /libguile | |
parent | 35de7ebe4a2f424a49bdcc856baaa0d61b978809 (diff) | |
download | guile-4dc2435aef1e447fe0cf370edb1db7d9f37fe385.tar.gz |
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.
Diffstat (limited to 'libguile')
-rw-r--r-- | libguile/mbstrings.c | 4 | ||||
-rw-r--r-- | libguile/print.c | 2 | ||||
-rw-r--r-- | libguile/read.c | 4 | ||||
-rw-r--r-- | 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) |