This is the mail archive of the gdb@sourceware.cygnus.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: insight still uses make_cleanup_func


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);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]