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

@ -301,7 +301,7 @@ gdbscm_iterator_next_x (SCM self)
static const scheme_function iterator_functions[] =
{
{ "make-iterator", 3, 0, 0, gdbscm_make_iterator,
{ "make-iterator", 3, 0, 0, as_a_scm_t_subr (gdbscm_make_iterator),
"\
Create a <gdb:iterator> object.\n\
\n\
@ -314,31 +314,32 @@ Create a <gdb:iterator> object.\n\
By convention end-of-iteration should be marked with (end-of-iteration)\n\
from module (gdb iterator)." },
{ "iterator?", 1, 0, 0, gdbscm_iterator_p,
{ "iterator?", 1, 0, 0, as_a_scm_t_subr (gdbscm_iterator_p),
"\
Return #t if the object is a <gdb:iterator> object." },
{ "iterator-object", 1, 0, 0, gdbscm_iterator_object,
{ "iterator-object", 1, 0, 0, as_a_scm_t_subr (gdbscm_iterator_object),
"\
Return the object being iterated over." },
{ "iterator-progress", 1, 0, 0, gdbscm_iterator_progress,
{ "iterator-progress", 1, 0, 0, as_a_scm_t_subr (gdbscm_iterator_progress),
"\
Return the progress object of the iterator." },
{ "set-iterator-progress!", 2, 0, 0, gdbscm_set_iterator_progress_x,
{ "set-iterator-progress!", 2, 0, 0,
as_a_scm_t_subr (gdbscm_set_iterator_progress_x),
"\
Set the progress object of the iterator." },
{ "iterator-next!", 1, 0, 0, gdbscm_iterator_next_x,
{ "iterator-next!", 1, 0, 0, as_a_scm_t_subr (gdbscm_iterator_next_x),
"\
Invoke the next! procedure of the iterator and return its result." },
{ "end-of-iteration", 0, 0, 0, gdbscm_end_of_iteration,
{ "end-of-iteration", 0, 0, 0, as_a_scm_t_subr (gdbscm_end_of_iteration),
"\
Return the end-of-iteration marker." },
{ "end-of-iteration?", 1, 0, 0, gdbscm_end_of_iteration_p,
{ "end-of-iteration?", 1, 0, 0, as_a_scm_t_subr (gdbscm_end_of_iteration_p),
"\
Return #t if the object is the end-of-iteration marker." },