It is conceivable that the C++ compiler has problems converting a
pointer to a C function (declared in a C language header) to a C++
function pointer. Or that it has a compiler bug making it choke on
too complex casts. This commit changes the cast
(SCM (*)()) apply_unpure_pure
to
(scm_t_subr) apply_unpure_pure
which hopefully addresses both of these potential candidates for GUB
compilation failure.
unpure_pure_call_tag = scm_make_smob_type ("unpure-pure-call", 0);
scm_set_smob_mark (unpure_pure_call_tag, scm_markcdr);
scm_set_smob_apply (unpure_pure_call_tag,
- (SCM (*)()) apply_unpure_pure, 2, 0, 1);
+ (scm_t_subr) apply_unpure_pure, 2, 0, 1);
};
ADD_SCM_INIT_FUNC (unpure_pure_container, init_unpure_pure_container);