--- lily/include/smobs.hh~ 2016-01-31 11:20:44.000000000 -0500 +++ lily/include/smobs.hh 2016-02-25 14:25:29.177103937 -0500 @@ -196,7 +196,7 @@ // code maintenance while being harder to understand and quite // trickier in its failure symptoms when things go wrong. So we // just use a static zero as "not here" indication. - static const int type_p_name_ = 0; + static const int type_p_name_ = NULL; // LY_DECLARE_SMOB_PROC is used in the Super class definition for // making a smob callable like a function. Its first argument is a --- lily/include/smobs.tcc~ 2016-02-28 08:16:42.000000000 -0500 +++ lily/include/smobs.tcc 2016-03-02 10:00:49.974357146 -0500 @@ -140,8 +140,8 @@ scm_set_smob_equalp (smob_tag_, Super::equal_p); if (Super::type_p_name_ != 0) { - SCM subr = scm_c_define_gsubr (Super::type_p_name_, 1, 0, 0, - (scm_t_subr) smob_p); + SCM subr = scm_c_define_gsubr (reinterpret_cast(Super::type_p_name_), 1, 0, 0, + (scm_t_subr) smob_p); string fundoc = string("Is @var{x} a @code{") + smob_name_ + "} object?"; ly_add_function_documentation (subr, Super::type_p_name_, "(SCM x)", --- lily/include/smobs.tcc~ 2016-03-02 10:42:12.000000000 -0500 +++ lily/include/smobs.tcc 2016-03-02 10:45:43.726749445 -0500 @@ -144,7 +144,7 @@ (scm_t_subr) smob_p); string fundoc = string("Is @var{x} a @code{") + smob_name_ + "} object?"; - ly_add_function_documentation (subr, Super::type_p_name_, "(SCM x)", + ly_add_function_documentation (subr, reinterpret_cast(Super::type_p_name_), "(SCM x)", fundoc); scm_c_export (Super::type_p_name_, NULL); } --- lily/include/smobs.tcc~ 2016-03-02 10:54:04.000000000 -0500 +++ lily/include/smobs.tcc 2016-03-02 10:56:54.694957092 -0500 @@ -146,7 +146,7 @@ + "} object?"; ly_add_function_documentation (subr, reinterpret_cast(Super::type_p_name_), "(SCM x)", fundoc); - scm_c_export (Super::type_p_name_, NULL); + scm_c_export (reinterpret_cast(Super::type_p_name_), NULL); } ly_add_type_predicate ((void *) is_smob, smob_name_.c_str ()); Super::smob_proc_init (smob_tag_);