diff --git a/ChangeLog b/ChangeLog index 5b0fcb59..816a2ad2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2013-09-22 Paul Smith + * guile.c (guile_define_module): Technically a void* cannot + contain a pointer-to-function and some compilers warn about this. + Cast the function pointers. + * load.c (load_object): Ditto. + * read.c (eval): If load_file() returns -1, don't add this to the "to be rebuilt" list. * doc/make.texi (load Directive): Document it. diff --git a/guile.c b/guile.c index 20e58d4b..9c9bf5c4 100644 --- a/guile.c +++ b/guile.c @@ -72,10 +72,10 @@ guile_define_module (void *data UNUSED) #include "gmk-default.h" /* Register a subr for GNU make's eval capability. */ - scm_c_define_gsubr ("gmk-expand", 1, 0, 0, guile_expand_wrapper); + scm_c_define_gsubr ("gmk-expand", 1, 0, 0, (scm_t_subr) guile_expand_wrapper); /* Register a subr for GNU make's eval capability. */ - scm_c_define_gsubr ("gmk-eval", 1, 0, 0, guile_eval_wrapper); + scm_c_define_gsubr ("gmk-eval", 1, 0, 0, (scm_t_subr) guile_eval_wrapper); /* Define the rest of the module. */ scm_c_eval_string (GUILE_module_defn); diff --git a/load.c b/load.c index 165153a4..a2cbc25b 100644 --- a/load.c +++ b/load.c @@ -82,12 +82,12 @@ load_object (const gmk_floc *flocp, int noerror, } /* Assert that the GPL license symbol is defined. */ - symp = dlsym (dlp, "plugin_is_GPL_compatible"); + symp = (load_func_t) dlsym (dlp, "plugin_is_GPL_compatible"); if (! symp) fatal (flocp, _("Loaded object %s is not declared to be GPL compatible"), ldname); - symp = dlsym (dlp, symname); + symp = (load_func_t) dlsym (dlp, symname); if (! symp) fatal (flocp, _("Failed to load symbol %s from %s: %s"), symname, ldname, dlerror ());