From 72e0248351fdc4ab125a16af24df031bca2275e4 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Mon, 7 Sep 2015 19:34:31 +0100 Subject: guile: Add as_a_scm_t_subr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 * 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. --- gdb/guile/scm-block.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) (limited to 'gdb/guile/scm-block.c') diff --git a/gdb/guile/scm-block.c b/gdb/guile/scm-block.c index 50dc6c7..c4b367f 100644 --- a/gdb/guile/scm-block.c +++ b/gdb/guile/scm-block.c @@ -709,61 +709,63 @@ gdbscm_lookup_block (SCM pc_scm) static const scheme_function block_functions[] = { - { "block?", 1, 0, 0, gdbscm_block_p, + { "block?", 1, 0, 0, as_a_scm_t_subr (gdbscm_block_p), "\ Return #t if the object is a object." }, - { "block-valid?", 1, 0, 0, gdbscm_block_valid_p, + { "block-valid?", 1, 0, 0, as_a_scm_t_subr (gdbscm_block_valid_p), "\ Return #t if the block is valid.\n\ A block becomes invalid when its objfile is freed." }, - { "block-start", 1, 0, 0, gdbscm_block_start, + { "block-start", 1, 0, 0, as_a_scm_t_subr (gdbscm_block_start), "\ Return the start address of the block." }, - { "block-end", 1, 0, 0, gdbscm_block_end, + { "block-end", 1, 0, 0, as_a_scm_t_subr (gdbscm_block_end), "\ Return the end address of the block." }, - { "block-function", 1, 0, 0, gdbscm_block_function, + { "block-function", 1, 0, 0, as_a_scm_t_subr (gdbscm_block_function), "\ Return the gdb:symbol object of the function containing the block\n\ or #f if the block does not live in any function." }, - { "block-superblock", 1, 0, 0, gdbscm_block_superblock, + { "block-superblock", 1, 0, 0, as_a_scm_t_subr (gdbscm_block_superblock), "\ Return the superblock (parent block) of the block." }, - { "block-global-block", 1, 0, 0, gdbscm_block_global_block, + { "block-global-block", 1, 0, 0, as_a_scm_t_subr (gdbscm_block_global_block), "\ Return the global block of the block." }, - { "block-static-block", 1, 0, 0, gdbscm_block_static_block, + { "block-static-block", 1, 0, 0, as_a_scm_t_subr (gdbscm_block_static_block), "\ Return the static block of the block." }, - { "block-global?", 1, 0, 0, gdbscm_block_global_p, + { "block-global?", 1, 0, 0, as_a_scm_t_subr (gdbscm_block_global_p), "\ Return #t if block is a global block." }, - { "block-static?", 1, 0, 0, gdbscm_block_static_p, + { "block-static?", 1, 0, 0, as_a_scm_t_subr (gdbscm_block_static_p), "\ Return #t if block is a static block." }, - { "block-symbols", 1, 0, 0, gdbscm_block_symbols, + { "block-symbols", 1, 0, 0, as_a_scm_t_subr (gdbscm_block_symbols), "\ Return a list of all symbols (as objects) in the block." }, - { "make-block-symbols-iterator", 1, 0, 0, gdbscm_make_block_syms_iter, + { "make-block-symbols-iterator", 1, 0, 0, + as_a_scm_t_subr (gdbscm_make_block_syms_iter), "\ Return a object for iterating over all symbols in the block." }, - { "block-symbols-progress?", 1, 0, 0, bkscm_block_syms_progress_p, + { "block-symbols-progress?", 1, 0, 0, + as_a_scm_t_subr (bkscm_block_syms_progress_p), "\ Return #t if the object is a object." }, - { "lookup-block", 1, 0, 0, gdbscm_lookup_block, + { "lookup-block", 1, 0, 0, as_a_scm_t_subr (gdbscm_lookup_block), "\ Return the innermost GDB block containing the address or #f if none found.\n\ \n\ @@ -792,7 +794,7 @@ gdbscm_initialize_blocks (void) /* This function is "private". */ bkscm_next_symbol_x_proc = scm_c_define_gsubr ("%block-next-symbol!", 1, 0, 0, - gdbscm_block_next_symbol_x); + as_a_scm_t_subr (gdbscm_block_next_symbol_x)); scm_set_procedure_property_x (bkscm_next_symbol_x_proc, gdbscm_documentation_symbol, gdbscm_scm_from_c_string ("\ -- cgit v1.1