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

@ -819,7 +819,7 @@ gdbscm_register_command_x (SCM self)
static const scheme_function command_functions[] =
{
{ "make-command", 1, 0, 1, gdbscm_make_command,
{ "make-command", 1, 0, 1, as_a_scm_t_subr (gdbscm_make_command),
"\
Make a GDB command object.\n\
\n\
@ -840,19 +840,19 @@ Make a GDB command object.\n\
doc: The \"doc string\" of the command.\n\
Returns: <gdb:command> object" },
{ "register-command!", 1, 0, 0, gdbscm_register_command_x,
{ "register-command!", 1, 0, 0, as_a_scm_t_subr (gdbscm_register_command_x),
"\
Register a <gdb:command> object with GDB." },
{ "command?", 1, 0, 0, gdbscm_command_p,
{ "command?", 1, 0, 0, as_a_scm_t_subr (gdbscm_command_p),
"\
Return #t if the object is a <gdb:command> object." },
{ "command-valid?", 1, 0, 0, gdbscm_command_valid_p,
{ "command-valid?", 1, 0, 0, as_a_scm_t_subr (gdbscm_command_valid_p),
"\
Return #t if the <gdb:command> object is valid." },
{ "dont-repeat", 1, 0, 0, gdbscm_dont_repeat,
{ "dont-repeat", 1, 0, 0, as_a_scm_t_subr (gdbscm_dont_repeat),
"\
Prevent command repetition when user enters an empty line.\n\
\n\