guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, master, updated. release_1-9-10-215-g9


From: Ludovic Courtès
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-10-215-g9c17af4
Date: Fri, 28 May 2010 15:07:29 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=9c17af407008aae5812d8c3e058c54d04a59c8d6

The branch, master has been updated
       via  9c17af407008aae5812d8c3e058c54d04a59c8d6 (commit)
       via  65c7a8bd64cf91fa9860a870d8fc2c21128b96e7 (commit)
       via  8c93b597b33a381c6d334597aae48d23e221a56e (commit)
       via  ac7b8e8e4c1aeb88fc283eb0cfc79a50cf14177f (commit)
       via  477e42195c6ffcb33a3dfda9a65d31c1285a0a9f (commit)
       via  e3401c659eeb43e72f408a2cf9bdbe7ec9d14f12 (commit)
       via  18dcd80e37d52d8406f02c8b2369b67692057cfd (commit)
       via  b016e12e95f33a2880aa243d9598db13e59298f3 (commit)
       via  ec20a3c86dcad6311d45913cf8ad4291bc8b928c (commit)
       via  405a79ca7ff12ec81e4963c51be4729ebd6cc922 (commit)
      from  04186f2006bba79ffd7097f3664919078dc4d656 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 9c17af407008aae5812d8c3e058c54d04a59c8d6
Author: Ludovic Courtès <address@hidden>
Date:   Fri May 28 17:00:03 2010 +0200

    Update `THANKS'.

commit 65c7a8bd64cf91fa9860a870d8fc2c21128b96e7
Author: Ludovic Courtès <address@hidden>
Date:   Fri May 28 16:50:36 2010 +0200

    Remove dead code related to `scm_i_terminating'.
    
    * libguile/fports.c (scm_i_terminating): Remove declaration.
      (fport_flush): Remove code conditional of `scm_i_terminating'.
    
    * libguile/gc.c (scm_i_terminating): Remove.

commit 8c93b597b33a381c6d334597aae48d23e221a56e
Author: Ludovic Courtès <address@hidden>
Date:   Fri May 28 16:51:57 2010 +0200

    Fix the visibility of a few of internal symbols.
    
    * libguile/gc.h (scm_i_gc): Make internal.
    * libguile/posix.h (scm_i_locale_mutex): Likewise.
    * libguile/arrays.h (scm_i_tc16_array): Likewise.
    * libguile/numbers.c (scm_i_num_less_p): Likewise.
    * libguile/discouraged.h (scm_i_init_discouraged): Likewise.
    * libguile/continuations.c (scm_i_dummy): Made static.
    * libguile/gc.c (scm_i_cell_validation_already_running): Likewise.
    * libguile/discouraged.h (scm_i_init_discouraged): Likewise.

commit ac7b8e8e4c1aeb88fc283eb0cfc79a50cf14177f
Author: Ludovic Courtès <address@hidden>
Date:   Fri May 28 15:38:00 2010 +0200

    Quote the first argument to `AC_DEFINE_UNQUOTED'.
    
    * configure.ac: Quote the first argument to `AC_DEFINE_UNQUOTED'.

commit 477e42195c6ffcb33a3dfda9a65d31c1285a0a9f
Author: Ludovic Courtès <address@hidden>
Date:   Fri May 28 15:35:42 2010 +0200

    Change occurrences of "filesystem" to "file system".
    
    * doc/ref/posix.texi (File System): Change "filesystem" to "file
      system".
    
    * libguile/posix.c (scm_utime): Ditto.

commit e3401c659eeb43e72f408a2cf9bdbe7ec9d14f12
Author: Ludovic Courtès <address@hidden>
Date:   Fri May 28 15:29:12 2010 +0200

    Use GCC's `malloc' attribute for malloc-like routines.
    
    * libguile/__scm.h (SCM_MALLOC): New macro.
    
    * libguile/gc.h (scm_malloc, scm_calloc, scm_strdup, scm_strndup,
      scm_gc_malloc_pointerless, scm_gc_calloc, scm_gc_malloc,
      scm_gc_strdup, scm_gc_strndup): Mark as `SCM_MALLOC'.

commit 18dcd80e37d52d8406f02c8b2369b67692057cfd
Author: Volker Grabsch <address@hidden>
Date:   Wed Apr 21 18:47:51 2010 +0200

    don't fail when HAVE_STAT64 is undefined
    
    * libguile/_scm.h: Check whether `HAVE_STAT64' is defined instead of
      checking its value.
    
    Signed-off-by: Ludovic Courtès <address@hidden>

commit b016e12e95f33a2880aa243d9598db13e59298f3
Author: Volker Grabsch <address@hidden>
Date:   Thu Apr 15 01:01:23 2010 +0200

    don't run the `pthread_attr_getstack' check when cross compiling
    
    * configure.ac: Run the `pthread_attr_getstack' test only when building
      natively.
    
    Signed-off-by: Ludovic Courtès <address@hidden>

commit ec20a3c86dcad6311d45913cf8ad4291bc8b928c
Author: Volker Grabsch <address@hidden>
Date:   Thu Apr 15 00:58:22 2010 +0200

    add pdcurses to the list of termlibs
    
    * acinclude.m4 (GUILE_READLINE): Look for pdcurses as found on MinGW.
    
    Signed-off-by: Ludovic Courtès <address@hidden>

commit 405a79ca7ff12ec81e4963c51be4729ebd6cc922
Author: Ludovic Courtès <address@hidden>
Date:   Fri May 28 11:09:31 2010 +0200

    Add `scm_t_aligned_cell' internal type.
    
    * libguile/_scm.h (struct scm_aligned_cell)[__GNUC__]: New type.
      (union scm_aligned_cell)[!__GNUC__]: New type.
      (scm_t_aligned_cell): New type.
    
    * libguile/vm.c (vm_dispatch_hook): Use it.

-----------------------------------------------------------------------

Summary of changes:
 THANKS                   |    1 +
 acinclude.m4             |    2 +-
 configure.ac             |   68 ++++++++++++++++++++++++---------------------
 doc/ref/posix.texi       |    4 +-
 libguile/__scm.h         |   11 +++++++-
 libguile/_scm.h          |   32 +++++++++++++++++++++-
 libguile/arrays.h        |    2 +-
 libguile/continuations.c |    2 +-
 libguile/discouraged.h   |    4 +-
 libguile/fports.c        |   17 +-----------
 libguile/gc.c            |   11 ++-----
 libguile/gc.h            |   25 ++++++++++-------
 libguile/numbers.c       |    4 +-
 libguile/posix.c         |    2 +-
 libguile/posix.h         |    4 +-
 libguile/vm.c            |    6 +---
 16 files changed, 110 insertions(+), 85 deletions(-)

diff --git a/THANKS b/THANKS
index 8593a79..96f22fb 100644
--- a/THANKS
+++ b/THANKS
@@ -49,6 +49,7 @@ For fixes or providing information which led to a fix:
          Didier Godefroy
   Panicz Maciej Godek
            John Goerzen
+        Volker Grabsch
            Mike Gran
          Raimon Grau
          Szavai Gyula
diff --git a/acinclude.m4 b/acinclude.m4
index 2f1466b..8cfe1d4 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -378,7 +378,7 @@ dnl
 dnl Check all the things needed by `guile-readline', the Readline
 dnl bindings.
 AC_DEFUN([GUILE_READLINE], [
-  for termlib in ncurses curses termcap terminfo termlib ; do
+  for termlib in ncurses curses termcap terminfo termlib pdcurses ; do
      AC_CHECK_LIB(${termlib}, [tgoto],
        [READLINE_LIBS="-l${termlib} $READLINE_LIBS"; break])
   done
diff --git a/configure.ac b/configure.ac
index 3877411..31ebad3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -886,9 +886,9 @@ AC_CHECK_SIZEOF(size_t)
 AC_CHECK_SIZEOF(ssize_t)
 ffi_size_type=uint$(($ac_cv_sizeof_size_t*8))
 ffi_ssize_type=sint$(($ac_cv_sizeof_ssize_t*8))
-AC_DEFINE_UNQUOTED(ffi_type_size_t, ffi_type_${ffi_size_type}, 
+AC_DEFINE_UNQUOTED([ffi_type_size_t], ffi_type_${ffi_size_type}, 
                   [ffi type for size_t])
-AC_DEFINE_UNQUOTED(ffi_type_ssize_t, ffi_type_${ffi_ssize_type}, 
+AC_DEFINE_UNQUOTED([ffi_type_ssize_t], ffi_type_${ffi_ssize_type}, 
                   [ffi type for ssize_t])
 
 dnl i18n tests
@@ -1410,39 +1410,43 @@ AM_CONDITIONAL([BUILD_PTHREAD_SUPPORT],
 
 if test "$with_threads" = pthreads; then
 
-AC_MSG_CHECKING(whether pthread_attr_getstack works for the main thread)
+AC_MSG_CHECKING([whether pthread_attr_getstack works for the main thread])
 old_CFLAGS="$CFLAGS"
 CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#if HAVE_PTHREAD_ATTR_GETSTACK
-#include <pthread.h>
-
-int main ()
-{
-  pthread_attr_t attr;
-  void *start, *end;
-  size_t size;
-
-  pthread_getattr_np (pthread_self (), &attr);
-  pthread_attr_getstack (&attr, &start, &size);
-  end = (char *)start + size;
-
-  if ((void *)&attr < start || (void *)&attr >= end)
+if test "$cross_compiling" = "no"; then
+  AC_RUN_IFELSE([AC_LANG_SOURCE([[
+  #if HAVE_PTHREAD_ATTR_GETSTACK
+  #include <pthread.h>
+
+  int main ()
+  {
+    pthread_attr_t attr;
+    void *start, *end;
+    size_t size;
+
+    pthread_getattr_np (pthread_self (), &attr);
+    pthread_attr_getstack (&attr, &start, &size);
+    end = (char *)start + size;
+
+    if ((void *)&attr < start || (void *)&attr >= end)
+      return 1;
+    else
+      return 0;
+  }
+  #else
+  int main ()
+  {
     return 1;
-  else
-    return 0;
-}
-#else
-int main ()
-{
-  return 1;
-}
-#endif
-]])],
-[works=yes
-AC_DEFINE([PTHREAD_ATTR_GETSTACK_WORKS], [1], [Define when 
pthread_att_get_stack works for the main thread])],
-[works=no],
-[])
+  }
+  #endif
+  ]])],
+  [works=yes
+   AC_DEFINE([PTHREAD_ATTR_GETSTACK_WORKS], [1], [Define when 
pthread_att_get_stack works for the main thread])],
+  [works=no],
+  [])
+else
+  works="assuming it doesn't"
+fi
 CFLAGS="$old_CFLAGS"
 AC_MSG_RESULT($works)
 
diff --git a/doc/ref/posix.texi b/doc/ref/posix.texi
index 89f8e84..c5106f5 100644
--- a/doc/ref/posix.texi
+++ b/doc/ref/posix.texi
@@ -700,7 +700,7 @@ The last modification time for the attributes of the file, 
in seconds.
 @deffnx {Scheme Procedure} stat:ctimensec st
 The fractional part of a file's access, modification, or attribute modification
 time, in nanoseconds. Nanosecond timestamps are only available on some 
operating
-systems and filesystems. If Guile cannot retrieve nanosecond-level timestamps
+systems and file systems. If Guile cannot retrieve nanosecond-level timestamps
 for a file, these fields will be set to 0.
 @end deffn
 @deffn {Scheme Procedure} stat:blksize st
@@ -781,7 +781,7 @@ not supplied, then the current time is used.  @var{actime} 
and
 
 The optional @var{actimens} and @var{modtimens} are nanoseconds
 to add @var{actime} and @var{modtime}. Nanosecond precision is
-only supported on some combinations of filesystems and operating
+only supported on some combinations of file systems and operating
 systems.
 @lisp
 (utime "foo" (- (current-time) 3600))
diff --git a/libguile/__scm.h b/libguile/__scm.h
index 93f6662..f0373e8 100644
--- a/libguile/__scm.h
+++ b/libguile/__scm.h
@@ -3,7 +3,7 @@
 #ifndef SCM___SCM_H
 #define SCM___SCM_H
 
-/* Copyright (C) 1995,1996,1998,1999,2000,2001,2002,2003, 2006, 2007, 2008, 
2009 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,1999,2000,2001,2002,2003, 2006, 2007, 2008, 
2009, 2010 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -126,6 +126,15 @@
 # undef SCM_ALIGNED
 #endif
 
+/* The SCM_MALLOC macro can be used in function declarations to tell the
+ * compiler that a function may be treated as if any non-NULL pointer it 
returns
+ * cannot alias any other pointer valid when the function returns.  */
+#if defined (__GNUC__) && (__GNUC__ >= 3)
+# define SCM_MALLOC  __attribute__ ((__malloc__))
+#else
+# define SCM_MALLOC
+#endif
+
 
 /* {Supported Options}
  *
diff --git a/libguile/_scm.h b/libguile/_scm.h
index 3bb78b4..9cd6fad 100644
--- a/libguile/_scm.h
+++ b/libguile/_scm.h
@@ -63,6 +63,7 @@
 
 #include <errno.h>
 #include <verify.h>
+#include <alignof.h>
 #include "libguile/__scm.h"
 
 /* Include headers for those files central to the implementation.  The
@@ -119,7 +120,7 @@
 
 
 
-#if GUILE_USE_64_CALLS && HAVE_STAT64
+#if GUILE_USE_64_CALLS && defined(HAVE_STAT64)
 #define CHOOSE_LARGEFILE(foo,foo64)     foo64
 #else
 #define CHOOSE_LARGEFILE(foo,foo64)     foo
@@ -192,6 +193,35 @@
 #define SCM_OBJCODE_COOKIE                              \
   "GOOF-" SCM_OBJCODE_MACHINE_VERSION_STRING "---"
 
+
+/* Cells have to be 8-byte aligned.  Use `scm_t_aligned_cell' when not
+   allocating on the heap to have this guarantee.  This is similar to the
+   `SCM_ALIGNED' macro but provides an option likely to work with compilers
+   other than GCC.  */
+
+#ifdef __GNUC__
+
+struct scm_aligned_cell
+{
+  scm_t_cell cell __attribute__ ((__aligned__ (8)));
+};
+
+typedef struct scm_aligned_cell scm_t_aligned_cell;
+
+#else /* !__GNUC__ */
+
+union scm_aligned_cell
+{
+  double alignment;
+  scm_t_cell cell;
+};
+
+typedef union scm_aligned_cell scm_t_aligned_cell;
+
+#endif /* !__GNUC__ */
+
+/* Make sure we get the right alignment.  */
+verify (alignof (scm_t_aligned_cell) >= 8);
 
 #endif  /* SCM__SCM_H */
 
diff --git a/libguile/arrays.h b/libguile/arrays.h
index a5ce577..9b14d4e 100644
--- a/libguile/arrays.h
+++ b/libguile/arrays.h
@@ -59,7 +59,7 @@ typedef struct scm_i_t_array
   unsigned long base;
 } scm_i_t_array;
 
-SCM_API scm_t_bits scm_i_tc16_array;
+SCM_INTERNAL scm_t_bits scm_i_tc16_array;
 
 #define SCM_I_ARRAY_FLAG_CONTIGUOUS (1 << 0)
 
diff --git a/libguile/continuations.c b/libguile/continuations.c
index e662261..69a87d2 100644
--- a/libguile/continuations.c
+++ b/libguile/continuations.c
@@ -309,7 +309,7 @@ static void scm_dynthrow (SCM);
  * variable.
  */
 
-scm_t_bits scm_i_dummy;
+static scm_t_bits scm_i_dummy;
 
 static void 
 grow_stack (SCM cont)
diff --git a/libguile/discouraged.h b/libguile/discouraged.h
index 1be05f0..dfa5811 100644
--- a/libguile/discouraged.h
+++ b/libguile/discouraged.h
@@ -13,7 +13,7 @@
 #ifndef SCM_DISCOURAGED_H
 #define SCM_DISCOURAGED_H
 
-/* Copyright (C) 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2006, 2010 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -177,7 +177,7 @@ SCM_API SCM scm_c_make_keyword (const char *s);
 #define scm_thread_sleep    scm_std_sleep
 #define scm_thread_usleep   scm_std_usleep
 
-void scm_i_init_discouraged (void);
+SCM_INTERNAL void scm_i_init_discouraged (void);
 
 #endif /* SCM_ENABLE_DISCOURAGED == 1 */
 
diff --git a/libguile/fports.c b/libguile/fports.c
index d541d95..04f3815 100644
--- a/libguile/fports.c
+++ b/libguile/fports.c
@@ -793,10 +793,6 @@ fport_write (SCM port, const void *data, size_t size)
 }
 #undef FUNC_NAME
 
-/* becomes 1 when process is exiting: normal exception handling won't
-   work by this time.  */
-extern int scm_i_terminating; 
-
 static void
 fport_flush (SCM port)
 {
@@ -827,18 +823,7 @@ fport_flush (SCM port)
                }
              pt->write_pos = pt->write_buf + remaining;
            }
-         if (scm_i_terminating)
-           {
-             const char *msg = "Error: could not flush file-descriptor ";
-             char buf[11];
-
-             full_write (2, msg, strlen (msg));
-             sprintf (buf, "%d\n", fp->fdes);
-             full_write (2, buf, strlen (buf));
-
-             count = remaining;
-           }
-         else if (scm_gc_running_p)
+         if (scm_gc_running_p)
            {
              /* silently ignore the error.  scm_error would abort if we
                 called it now.  */
diff --git a/libguile/gc.c b/libguile/gc.c
index fc405f3..192dd52 100644
--- a/libguile/gc.c
+++ b/libguile/gc.c
@@ -83,12 +83,6 @@ int scm_expensive_debug_cell_accesses_p = 0;
  */
 int scm_debug_cells_gc_interval = 0;
 
-/*
-  Global variable, so you can switch it off at runtime by setting
-  scm_i_cell_validation_already_running.
- */
-int scm_i_cell_validation_already_running ;
-
 /* Hash table that keeps a reference to objects the user wants to protect from
    garbage collection.  It could arguably be private but applications have come
    to rely on it (e.g., Lilypond 2.13.9).  */
@@ -131,6 +125,9 @@ scm_i_expensive_validation_check (SCM cell)
     }
 }
 
+/* Whether cell validation is already running.  */
+static int scm_i_cell_validation_already_running = 0;
+
 void
 scm_assert_cell_valid (SCM cell)
 {
@@ -590,8 +587,6 @@ scm_gc_unregister_roots (SCM *b, unsigned long n)
     scm_gc_unregister_root (p);
 }
 
-int scm_i_terminating;
-
 
 
 
diff --git a/libguile/gc.h b/libguile/gc.h
index 8f05aab..104fb0b 100644
--- a/libguile/gc.h
+++ b/libguile/gc.h
@@ -178,27 +178,32 @@ SCM_API SCM scm_gc_dump (void);
 SCM_API SCM scm_gc_stats (void);
 SCM_API SCM scm_gc_live_object_stats (void);
 SCM_API SCM scm_gc (void);
-SCM_API void scm_i_gc (const char *what);
+SCM_INTERNAL void scm_i_gc (const char *what);
 SCM_API void scm_gc_mark (SCM p);
 SCM_API void scm_gc_sweep (void);
 
-SCM_API void *scm_malloc (size_t size);
-SCM_API void *scm_calloc (size_t size);
+SCM_API void *scm_malloc (size_t size) SCM_MALLOC;
+SCM_API void *scm_calloc (size_t size) SCM_MALLOC;
 SCM_API void *scm_realloc (void *mem, size_t size);
-SCM_API char *scm_strdup (const char *str);
-SCM_API char *scm_strndup (const char *str, size_t n);
+SCM_API char *scm_strdup (const char *str) SCM_MALLOC;
+SCM_API char *scm_strndup (const char *str, size_t n) SCM_MALLOC;
 SCM_API void scm_gc_register_collectable_memory (void *mem, size_t size,
                                                 const char *what);
 SCM_API void scm_gc_unregister_collectable_memory (void *mem, size_t size,
                                                   const char *what);
-SCM_API void *scm_gc_malloc_pointerless (size_t size, const char *what);
-SCM_API void *scm_gc_calloc (size_t size, const char *what);
-SCM_API void *scm_gc_malloc (size_t size, const char *what);
+SCM_API void *scm_gc_malloc_pointerless (size_t size, const char *what)
+  SCM_MALLOC;
+SCM_API void *scm_gc_calloc (size_t size, const char *what)
+  SCM_MALLOC;
+SCM_API void *scm_gc_malloc (size_t size, const char *what)
+  SCM_MALLOC;
 SCM_API void *scm_gc_realloc (void *mem, size_t old_size, 
                              size_t new_size, const char *what);
 SCM_API void scm_gc_free (void *mem, size_t size, const char *what);
-SCM_API char *scm_gc_strdup (const char *str, const char *what);
-SCM_API char *scm_gc_strndup (const char *str, size_t n, const char *what);
+SCM_API char *scm_gc_strdup (const char *str, const char *what)
+  SCM_MALLOC;
+SCM_API char *scm_gc_strndup (const char *str, size_t n, const char *what)
+  SCM_MALLOC;
 
 SCM_API void scm_remember_upto_here_1 (SCM obj);
 SCM_API void scm_remember_upto_here_2 (SCM obj1, SCM obj2);
diff --git a/libguile/numbers.c b/libguile/numbers.c
index 358a1cd..b1c918f 100644
--- a/libguile/numbers.c
+++ b/libguile/numbers.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005, 2006, 
2007, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005, 2006, 
2007, 2008, 2009, 2010 Free Software Foundation, Inc.
  *
  * Portions Copyright 1990, 1991, 1992, 1993 by AT&T Bell Laboratories
  * and Bellcore.  See scm_divide.
@@ -3552,7 +3552,7 @@ scm_num_eq_p (SCM x, SCM y)
    mpq_cmp.  flonum/frac compares likewise, but with the slight complication
    of the float exponent to take into account.  */
 
-SCM scm_i_num_less_p (SCM, SCM, SCM);
+SCM_INTERNAL SCM scm_i_num_less_p (SCM, SCM, SCM);
 SCM_PRIMITIVE_GENERIC (scm_i_num_less_p, "<", 0, 2, 1,
                        (SCM x, SCM y, SCM rest),
                        "Return @code{#t} if the list of parameters is 
monotonically\n"
diff --git a/libguile/posix.c b/libguile/posix.c
index 3244e6e..b228925 100644
--- a/libguile/posix.c
+++ b/libguile/posix.c
@@ -1382,7 +1382,7 @@ SCM_DEFINE (scm_utime, "utime", 1, 5, 0,
            "@code{current-time} procedure.\n\n"
             "The optional @var{actimens} and @var{modtimens} are nanoseconds\n"
             "to add @var{actime} and @var{modtime}. Nanosecond precision is\n"
-            "only supported on some combinations of filesystems and 
operating\n"
+            "only supported on some combinations of file systems and 
operating\n"
             "systems.\n"
            "@lisp\n"
            "(utime \"foo\" (- (current-time) 3600))\n"
diff --git a/libguile/posix.h b/libguile/posix.h
index 420311e..f7a5bb3 100644
--- a/libguile/posix.h
+++ b/libguile/posix.h
@@ -3,7 +3,7 @@
 #ifndef SCM_POSIX_H
 #define SCM_POSIX_H
 
-/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2003, 2006, 2008, 2009 Free 
Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2003, 2006, 2008, 2009, 2010 
Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -91,7 +91,7 @@ SCM_API SCM scm_sethostname (SCM name);
 SCM_API SCM scm_gethostname (void);
 SCM_INTERNAL void scm_init_posix (void);
 
-SCM_API scm_i_pthread_mutex_t scm_i_locale_mutex;
+SCM_INTERNAL scm_i_pthread_mutex_t scm_i_locale_mutex;
 
 #endif  /* SCM_POSIX_H */
 
diff --git a/libguile/vm.c b/libguile/vm.c
index e036b63..972abf8 100644
--- a/libguile/vm.c
+++ b/libguile/vm.c
@@ -190,11 +190,7 @@ vm_dispatch_hook (SCM vm, int hook_num)
   struct scm_vm *vp;
   SCM hook;
   struct scm_frame c_frame;
-  union
-  {
-    double alignment;
-    scm_t_cell cell;
-  } frame;
+  scm_t_aligned_cell frame;
   SCM args[1];
 
   vp = SCM_VM_DATA (vm);


hooks/post-receive
-- 
GNU Guile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]