guile: Add as_a_scm_t_subr

Building GDB in C++ mode on Fedora 20, the gdb/guile/ code shows ~280
errors like:

 src/gdb/guile/guile.c:515:1: error: invalid conversion from ‘scm_unused_struct* (*)(SCM, SCM) {aka scm_unused_struct* (*)(scm_unused_struct*, scm_unused_struct*)}’ to ‘scm_t_subr {aka void*}’ [-fpermissive]

This commit fixes them all.

gdb/ChangeLog:
2015-09-07  Pedro Alves  <palves@redhat.com>

	* guile/guile-internal.h (as_a_scm_t_subr): New.
	* guile/guile.c (misc_guile_functions): Use it.
	* guile/scm-arch.c (arch_functions): Use it.
	* guile/scm-block.c (block_functions, gdbscm_initialize_blocks):
	Use it.
	* guile/scm-breakpoint.c (breakpoint_functions): Use it.
	* guile/scm-cmd.c (command_functions): Use it.
	* guile/scm-disasm.c (disasm_functions): Use it.
	* guile/scm-exception.c (exception_functions)
	(private_exception_functions): Use it.
	* guile/scm-frame.c (frame_functions)
	* guile/scm-gsmob.c (gsmob_functions): Use it.
	* guile/scm-iterator.c (iterator_functions): Use it.
	* guile/scm-lazy-string.c (lazy_string_functions): Use it.
	* guile/scm-math.c (math_functions): Use it.
	* guile/scm-objfile.c (objfile_functions): Use it.
	* guile/scm-param.c (parameter_functions): Use it.
	* guile/scm-ports.c (port_functions, private_port_functions): Use
	it.
	* guile/scm-pretty-print.c (pretty_printer_functions): Use it.
	* guile/scm-progspace.c (pspace_functions): Use it.
	* guile/scm-string.c (string_functions): Use it.
	* guile/scm-symbol.c (symbol_functions): Use it.
	* guile/scm-symtab.c (symtab_functions): Use it.
	* guile/scm-type.c (type_functions, gdbscm_initialize_types): Use
	it.
	* guile/scm-value.c (value_functions): Use it.
This commit is contained in:
Pedro Alves 2015-09-07 19:34:31 +01:00
parent 3d4fde6974
commit 72e0248351
24 changed files with 401 additions and 280 deletions

View file

@ -905,99 +905,99 @@ vlscm_convert_value_from_scheme (const char *func_name,
static const scheme_function math_functions[] =
{
{ "value-add", 2, 0, 0, gdbscm_value_add,
{ "value-add", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_add),
"\
Return a + b." },
{ "value-sub", 2, 0, 0, gdbscm_value_sub,
{ "value-sub", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_sub),
"\
Return a - b." },
{ "value-mul", 2, 0, 0, gdbscm_value_mul,
{ "value-mul", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_mul),
"\
Return a * b." },
{ "value-div", 2, 0, 0, gdbscm_value_div,
{ "value-div", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_div),
"\
Return a / b." },
{ "value-rem", 2, 0, 0, gdbscm_value_rem,
{ "value-rem", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_rem),
"\
Return a % b." },
{ "value-mod", 2, 0, 0, gdbscm_value_mod,
{ "value-mod", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_mod),
"\
Return a mod b. See Knuth 1.2.4." },
{ "value-pow", 2, 0, 0, gdbscm_value_pow,
{ "value-pow", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_pow),
"\
Return pow (x, y)." },
{ "value-not", 1, 0, 0, gdbscm_value_not,
{ "value-not", 1, 0, 0, as_a_scm_t_subr (gdbscm_value_not),
"\
Return !a." },
{ "value-neg", 1, 0, 0, gdbscm_value_neg,
{ "value-neg", 1, 0, 0, as_a_scm_t_subr (gdbscm_value_neg),
"\
Return -a." },
{ "value-pos", 1, 0, 0, gdbscm_value_pos,
{ "value-pos", 1, 0, 0, as_a_scm_t_subr (gdbscm_value_pos),
"\
Return a." },
{ "value-abs", 1, 0, 0, gdbscm_value_abs,
{ "value-abs", 1, 0, 0, as_a_scm_t_subr (gdbscm_value_abs),
"\
Return abs (a)." },
{ "value-lsh", 2, 0, 0, gdbscm_value_lsh,
{ "value-lsh", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_lsh),
"\
Return a << b." },
{ "value-rsh", 2, 0, 0, gdbscm_value_rsh,
{ "value-rsh", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_rsh),
"\
Return a >> b." },
{ "value-min", 2, 0, 0, gdbscm_value_min,
{ "value-min", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_min),
"\
Return min (a, b)." },
{ "value-max", 2, 0, 0, gdbscm_value_max,
{ "value-max", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_max),
"\
Return max (a, b)." },
{ "value-lognot", 1, 0, 0, gdbscm_value_lognot,
{ "value-lognot", 1, 0, 0, as_a_scm_t_subr (gdbscm_value_lognot),
"\
Return ~a." },
{ "value-logand", 2, 0, 0, gdbscm_value_logand,
{ "value-logand", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_logand),
"\
Return a & b." },
{ "value-logior", 2, 0, 0, gdbscm_value_logior,
{ "value-logior", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_logior),
"\
Return a | b." },
{ "value-logxor", 2, 0, 0, gdbscm_value_logxor,
{ "value-logxor", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_logxor),
"\
Return a ^ b." },
{ "value=?", 2, 0, 0, gdbscm_value_eq_p,
{ "value=?", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_eq_p),
"\
Return a == b." },
{ "value<?", 2, 0, 0, gdbscm_value_lt_p,
{ "value<?", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_lt_p),
"\
Return a < b." },
{ "value<=?", 2, 0, 0, gdbscm_value_le_p,
{ "value<=?", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_le_p),
"\
Return a <= b." },
{ "value>?", 2, 0, 0, gdbscm_value_gt_p,
{ "value>?", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_gt_p),
"\
Return a > b." },
{ "value>=?", 2, 0, 0, gdbscm_value_ge_p,
{ "value>=?", 2, 0, 0, as_a_scm_t_subr (gdbscm_value_ge_p),
"\
Return a >= b." },