This is the mail archive of the
gdb@sourceware.cygnus.com
mailing list for the GDB project.
Re: insight still uses make_cleanup_func
- To: gdb at sourceware dot cygnus dot com
- Subject: Re: insight still uses make_cleanup_func
- From: Andrew Cagney <ac131313 at cygnus dot com>
- Date: Thu, 08 Jun 2000 18:11:49 +1000
- CC: cagney at cygnus dot com
- Organization: Cygnus Solutions
- References: <20000608000828.A17257@cygnus.com>
Chris Faylor wrote:
>
> Isn't this a problem, Andrew?
>
> % grep make_cleanup_func **/*.[ch]
> gdbtk/generic/gdbtk-cmds.c: old_chain = make_cleanup ((make_cleanup_func) free_current_contents, &expr);
> gdbtk/generic/gdbtk-cmds.c: old_cleanups = make_cleanup ((make_cleanup_func) bfd_close, loadfile_bfd);
> gdbtk/generic/gdbtk-cmds.c: old_chain = make_cleanup ((make_cleanup_func) free_search_symbols, ss);
> gdbtk/generic/gdbtk.c: old_chain = make_cleanup ((make_cleanup_func) cleanup_init, 0);
>
> Today's build of gdb is failing for me:
Sorry,
I've committed the attahed.
Andrew
Thu Jun 8 17:59:01 2000 Andrew Cagney <cagney@b1.cygnus.com>
(gdb_load_info): Use make_cleanup_bfd_close.
(gdb_search): Use make_cleanup_free_search_symbols.
* gdbtk.c (cleanup_init): Change signature to match make_cleanups.
(gdbtk_init): Discard make_cleanup_func cast.
* gdbtk-cmds.c (gdb_eval): Ditto.
Index: gdbtk/generic/gdbtk-cmds.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/generic/gdbtk-cmds.c,v
retrieving revision 1.7
diff -p -r1.7 gdbtk-cmds.c
*** gdbtk-cmds.c 2000/04/17 20:20:59 1.7
--- gdbtk-cmds.c 2000/06/08 08:07:02
*************** gdb_eval (clientData, interp, objc, objv
*** 767,773 ****
expr = parse_expression (Tcl_GetStringFromObj (objv[1], NULL));
! old_chain = make_cleanup ((make_cleanup_func) free_current_contents, &expr);
val = evaluate_expression (expr);
--- 767,773 ----
expr = parse_expression (Tcl_GetStringFromObj (objv[1], NULL));
! old_chain = make_cleanup (free_current_contents, &expr);
val = evaluate_expression (expr);
*************** gdb_load_info (clientData, interp, objc,
*** 994,1000 ****
Tcl_SetStringObj (result_ptr->obj_ptr, "Open failed", -1);
return TCL_ERROR;
}
! old_cleanups = make_cleanup ((make_cleanup_func) bfd_close, loadfile_bfd);
if (!bfd_check_format (loadfile_bfd, bfd_object))
{
--- 994,1000 ----
Tcl_SetStringObj (result_ptr->obj_ptr, "Open failed", -1);
return TCL_ERROR;
}
! old_cleanups = make_cleanup_bfd_close (loadfile_bfd);
if (!bfd_check_format (loadfile_bfd, bfd_object))
{
*************** gdb_search (clientData, interp, objc, ob
*** 1605,1611 ****
search_symbols (regexp, space, nfiles, files, &ss);
if (ss != NULL)
! old_chain = make_cleanup ((make_cleanup_func) free_search_symbols, ss);
Tcl_SetListObj (result_ptr->obj_ptr, 0, NULL);
--- 1605,1611 ----
search_symbols (regexp, space, nfiles, files, &ss);
if (ss != NULL)
! old_chain = make_cleanup_free_search_symbols (ss);
Tcl_SetListObj (result_ptr->obj_ptr, 0, NULL);
Index: gdbtk/generic/gdbtk.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/generic/gdbtk.c,v
retrieving revision 1.4
diff -p -r1.4 gdbtk.c
*** gdbtk.c 2000/06/06 20:15:52 1.4
--- gdbtk.c 2000/06/08 08:07:02
*************** static void gdbtk_init PARAMS ((char *))
*** 98,104 ****
void gdbtk_interactive PARAMS ((void));
! static void cleanup_init PARAMS ((int));
static void tk_command PARAMS ((char *, int));
--- 98,104 ----
void gdbtk_interactive PARAMS ((void));
! static void cleanup_init (void *ignore);
static void tk_command PARAMS ((char *, int));
*************** TclDebug (char level, const char *fmt,..
*** 239,246 ****
*/
static void
! cleanup_init (ignored)
! int ignored;
{
if (gdbtk_interp != NULL)
Tcl_DeleteInterp (gdbtk_interp);
--- 239,245 ----
*/
static void
! cleanup_init (void *ignore)
{
if (gdbtk_interp != NULL)
Tcl_DeleteInterp (gdbtk_interp);
*************** gdbtk_init (argv0)
*** 371,377 ****
return;
#endif
! old_chain = make_cleanup ((make_cleanup_func) cleanup_init, 0);
/* First init tcl and tk. */
Tcl_FindExecutable (argv0);
--- 370,376 ----
return;
#endif
! old_chain = make_cleanup (cleanup_init, 0);
/* First init tcl and tk. */
Tcl_FindExecutable (argv0);