>>>>> Thien-Thi Nguyen writes: > From: David C Sterratt <[EMAIL PROTECTED]> Date: Mon, 11 > Feb 2002 10:58:25 +0000
> Thanks for you message. Here's what I see when using > ./check-guile --debug at the end: > [tests: srfi-19, srfi-4, time] > looks like two main problem areas: time and uniform vectors. > the first area is a legendary debugging quagmire (unless you are an > l10n guru), so i propose we focus on the second area's > characteristic: all failures involve some kind of memory > allocation. this is not surprising (although i can't remember why > ;-)... > if you look how the fundamental type (SCM) is implemented > (tags.h:63), there are several cpp symbols that conditionalize it. > could you summarize those and their values? see top-level > config.status, and also try "gcc -E" to see what is really being > passed to the compiler. Here's the relevant bit of tags.h. From config.status it doesn't look as if SCM_DEBUG_TYPING_STRICTNESS is defined. This is confirmed by compiling using make clean; make CFLAGS=-DSCM_DEBUG_TYPING_STRICTNESS=1 I get a different set of totals at the end of ./check-guile --debug passes: 2077 failures: 7 unexpected passes: 0 expected failures: 17 unresolved test cases: 2 untested test cases: 0 unsupported test cases: 9 errors: 30 (There were on unresolved test cases when compiled without defining SCM_DEBUG_TYPING_STRICTNESS) #if (SCM_DEBUG_TYPING_STRICTNESS == 2) typedef union { struct { scm_t_bits n; } n; } SCM; static SCM scm_pack(scm_t_bits b) { SCM s; s.n.n = b; return s; } # define SCM_UNPACK(x) ((x).n.n) # define SCM_PACK(x) (scm_pack ((scm_t_bits) (x))) #elif (SCM_DEBUG_TYPING_STRICTNESS == 1) /* This is the default, which provides an intermediate level of compile time * type checking while still resulting in very efficient code. */ typedef struct scm_unused_struct * SCM; # define SCM_UNPACK(x) ((scm_t_bits) (x)) # define SCM_PACK(x) ((SCM) (x)) #else /* This should be used as a fall back solution for machines on which casting * to a pointer may lead to loss of bit information, e. g. in the three least * significant bits. */ typedef scm_t_bits SCM; # define SCM_UNPACK(x) (x) # define SCM_PACK(x) ((scm_t_bits) (x)) #endif Running gcc -E tags.h shows that typedef scm_t_bits SCM; is the line included. Thanks for your help, David _______________________________________________ Bug-guile mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-guile