(scm_make_real): prevent reordering of statements
authorHan-Wen Nienhuys <hanwen@lilypond.org>
Wed, 28 Aug 2002 22:50:32 +0000 (22:50 +0000)
committerHan-Wen Nienhuys <hanwen@lilypond.org>
Wed, 28 Aug 2002 22:50:32 +0000 (22:50 +0000)
num2float.i.c (FLOAT2NUM): idem

libguile/ChangeLog
libguile/num2float.i.c
libguile/numbers.c

index 525562c..c0430a5 100644 (file)
@@ -1,6 +1,7 @@
 2002-08-29  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
        * numbers.c (scm_make_real): prevent reordering of statements
+       num2float.i.c (FLOAT2NUM): idem
 
 2002-08-27  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
index b393ba9..5fd9180 100644 (file)
@@ -33,6 +33,10 @@ FLOAT2NUM (FTYPE n)
 {
   SCM z;
   z = scm_double_cell (scm_tc16_real, 0, 0, 0);
+  /*
+    See scm_make_real().
+   */
+  scm_remember_upto_here_1 (z);
   SCM_REAL_VALUE (z) = n;
   return z;
 }
index ebdacdc..8393c62 100644 (file)
@@ -3021,7 +3021,7 @@ scm_make_real (double x)
     OK to interchange the initialization above and the one below. We
     don't want that, of course.
    */
-  scm_remember_1 (z);
+  scm_remember_upto_here_1 (z);
   SCM_REAL_VALUE (z) = x;
   return z;
 }