[Top][All Lists]

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

[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.9-40-g824b9a

From: Mark H Weaver
Subject: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.9-40-g824b9ad
Date: Thu, 18 Jul 2013 18:26:35 +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".

The branch, stable-2.0 has been updated
       via  824b9ad8b792ab42c5cc614d66462dfaab489075 (commit)
      from  fe51c7b3e0a1e93be3bb81dd2d4b18936fe2df3a (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 824b9ad8b792ab42c5cc614d66462dfaab489075
Author: Mark H Weaver <address@hidden>
Date:   Thu Jul 18 14:10:43 2013 -0400

    Modify SCM_UNPACK type check to avoid warnings in clang.
    * libguile/tags.h (SCM_UNPACK): Change (*(SCM*)0=(x)) to
      (*(volatile SCM *)0=(x)), to avoid null-dereference warnings
      from clang.  Reported by Shane Celis <address@hidden>.


Summary of changes:
 libguile/tags.h |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/libguile/tags.h b/libguile/tags.h
index a3032bf..c41543f 100644
--- a/libguile/tags.h
+++ b/libguile/tags.h
@@ -87,14 +87,15 @@ typedef union SCM { struct { scm_t_bits n; } n; } SCM;
   The 0?: constructions makes sure that the code is never executed,
   and that there is no performance hit.  However, the alternative is
   compiled, and does generate a warning when used with the wrong
-  pointer type.
+  pointer type.  We use a volatile pointer type to avoid warnings
+  from clang.
   The Tru64 and ia64-hp-hpux11.23 compilers fail on `case (0?0=0:x)'
   statements, so for them type-checking is disabled.  */
 #if defined __DECC || defined __HP_cc
 #   define SCM_UNPACK(x) ((scm_t_bits) (x))
-#   define SCM_UNPACK(x) ((scm_t_bits) (0? (*(SCM*)0=(x)): x))
+#   define SCM_UNPACK(x) ((scm_t_bits) (0? (*(volatile SCM *)0=(x)): x))

GNU Guile

reply via email to

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