summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
authorJim Blandy <jimb@red-bean.com>1996-12-18 21:42:09 +0000
committerJim Blandy <jimb@red-bean.com>1996-12-18 21:42:09 +0000
commit4dc2435aef1e447fe0cf370edb1db7d9f37fe385 (patch)
tree0122d9ce268c1885b84898cbcee4713e7659ccf5 /libguile
parent35de7ebe4a2f424a49bdcc856baaa0d61b978809 (diff)
downloadguile-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.c4
-rw-r--r--libguile/print.c2
-rw-r--r--libguile/read.c4
-rw-r--r--libguile/throw.c2
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)