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

@ -321,29 +321,32 @@ lsscm_val_print_lazy_string (SCM string, struct ui_file *stream,
static const scheme_function lazy_string_functions[] =
{
{ "lazy-string?", 1, 0, 0, gdbscm_lazy_string_p,
{ "lazy-string?", 1, 0, 0, as_a_scm_t_subr (gdbscm_lazy_string_p),
"\
Return #t if the object is a <gdb:lazy-string> object." },
{ "lazy-string-address", 1, 0, 0, gdbscm_lazy_string_address,
{ "lazy-string-address", 1, 0, 0,
as_a_scm_t_subr (gdbscm_lazy_string_address),
"\
Return the address of the lazy-string." },
{ "lazy-string-length", 1, 0, 0, gdbscm_lazy_string_length,
{ "lazy-string-length", 1, 0, 0, as_a_scm_t_subr (gdbscm_lazy_string_length),
"\
Return the length of the lazy-string.\n\
If the length is -1 then the length is determined by the first null\n\
of appropriate width." },
{ "lazy-string-encoding", 1, 0, 0, gdbscm_lazy_string_encoding,
{ "lazy-string-encoding", 1, 0, 0,
as_a_scm_t_subr (gdbscm_lazy_string_encoding),
"\
Return the encoding of the lazy-string." },
{ "lazy-string-type", 1, 0, 0, gdbscm_lazy_string_type,
{ "lazy-string-type", 1, 0, 0, as_a_scm_t_subr (gdbscm_lazy_string_type),
"\
Return the <gdb:type> of the lazy-string." },
{ "lazy-string->value", 1, 0, 0, gdbscm_lazy_string_to_value,
{ "lazy-string->value", 1, 0, 0,
as_a_scm_t_subr (gdbscm_lazy_string_to_value),
"\
Return the <gdb:value> representation of the lazy-string." },