diff options
author | Andy Wingo <wingo@pobox.com> | 2009-04-04 11:36:18 -0700 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-04-04 11:36:18 -0700 |
commit | 2c0f99a28bc5a289bead58983da1510867162745 (patch) | |
tree | 9e37511bd8f0156f95671c004f6e22a86ea36757 /libguile/vm-i-system.c | |
parent | 6f36dbbe48506eccfc6a1df7d626dfe94ba3f696 (diff) | |
download | guile-2c0f99a28bc5a289bead58983da1510867162745.tar.gz |
fix nondeterminism in vm-i-system.c
* libguile/vm-i-system.c (br-if-eq, br-if-not-eq): Fix some
nondeterminism caught by GCC 4.4.
Diffstat (limited to 'libguile/vm-i-system.c')
-rw-r--r-- | libguile/vm-i-system.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c index c1ea1c161..9280b189d 100644 --- a/libguile/vm-i-system.c +++ b/libguile/vm-i-system.c @@ -446,12 +446,14 @@ VM_DEFINE_INSTRUCTION (33, br_if_not, "br-if-not", 2, 0, 0) VM_DEFINE_INSTRUCTION (34, br_if_eq, "br-if-eq", 2, 0, 0) { - BR (SCM_EQ_P (sp[0], sp--[1])); + sp--; /* underflow? */ + BR (SCM_EQ_P (sp[0], sp[1])); } VM_DEFINE_INSTRUCTION (35, br_if_not_eq, "br-if-not-eq", 2, 0, 0) { - BR (!SCM_EQ_P (sp[0], sp--[1])); + sp--; /* underflow? */ + BR (!SCM_EQ_P (sp[0], sp[1])); } VM_DEFINE_INSTRUCTION (36, br_if_null, "br-if-null", 2, 0, 0) |