guile-devel
[Top][All Lists]
Advanced

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

Portability problem with SCM_DEBUG_TYPING_STRICTNESS=1


From: Matthias Koeppe
Subject: Portability problem with SCM_DEBUG_TYPING_STRICTNESS=1
Date: 07 Jun 2001 15:28:37 +0200

The setting SCM_DEBUG_TYPING_STRICTNESS=1, which has been made the
default recently, reveals portability problems in the Guile sources:
The Sun Forte compilers report "a cast does not yield an lvalue" in a
few places in the Guile sources, for instance in goops.c where
assignments to an application of the SCM_SLOT macro are done like
this:

        SCM_SLOT(z, scm_si_name) = name;

(where SCM_SLOT reduces to SCM_PACK)

I'd suggest that constructions like this be avoided.  Macros like
SCM_SET_SLOT should be introduced and used instead. 

Other places are weaks.c (scm_make_weak_key_hash_table,
scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table) and the
SCM_BITVEC_SET, SCM_BITVEC_CLR macros used in ramap.c and unif.c. 

-- 
Matthias Köppe -- http://www.math.uni-magdeburg.de/~mkoeppe



reply via email to

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