1998-10-13 Jason Molenda (jsm@bugshack.cygnus.com)
* blockframe.c (find_pc_sect_partial_function): Add braces to avoid possible nested-if confusion. * breakpoint.c (breakpoint_here_p): Ditto. (breakpoint_inserted_here_p): Ditto. (breakpoint_thread_match): Ditto. * gnu-regex.c: Define _REGEX_RE_COMP only if it isn't already defined. * gnu-regex.h: Define _REGEX_RE_COMP to pick up old compatability prototypes. * symtab.h: Add prototype for _initialize_source. * value.h: Add prototype for _initialize_value. * defs.h: Include sys/types.h or stddef.h to get size_t. (make_cleanup): Add make_cleanup_func typedef and switch to using a prototype for this function. (mfree): Add prototypes for mmalloc, mrealloc, mfree if we aren't using mmalloc. * ax-gdb.c breakpoint.c coffread.c corelow.c dbxread.c dwarf2read.c dwarfread.c elfread.c eval.c exec.c gdbtk-cmds.c gdbtk.c infcmd.c infrun.c mipsread.c nlmread.c os9kread.c parse.c printcmd.c symfile.c symmisc.c symtab.c thread.c top.c tracepoint.c typeprint.c valops.c: Cast parameters passed to make_cleanup to use the new make_cleanup_func typedef. More warning cleanups. There are still a bunch of places where the first argument to make_cleanup is not cast to (make_cleanup_func); these are either due to the function fitting the make_cleanup_func specification already (e.g. free()) or they are in files that weren't compiled when I did my make on a Linux native system. Bwahahaha. You can see them like this: grep make_cleanup\ * | grep -v make_cleanup_func I'll surely go back and clean up the remaining suspicious calls in GDB one of these days. :-)
This commit is contained in:
parent
9a3d6f4eef
commit
ad3b8c4a1a
23 changed files with 354 additions and 187 deletions
66
gdb/defs.h
66
gdb/defs.h
|
@ -1,5 +1,5 @@
|
|||
/* Basic, host-specific, and target-specific definitions for GDB.
|
||||
Copyright (C) 1986, 1989, 1991, 1992, 1993, 1994, 1995, 1996
|
||||
Copyright (C) 1986, 89, 91, 92, 93, 94, 95, 1996, 1998
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
@ -25,6 +25,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
|||
#include <stdio.h>
|
||||
#include <errno.h> /* System call error return status */
|
||||
|
||||
#ifdef HAVE_STDDEF_H
|
||||
# include <stddef.h>
|
||||
#else
|
||||
# include <sys/types.h> /* for size_t */
|
||||
#endif
|
||||
|
||||
/* Just in case they're not defined in stdio.h. */
|
||||
|
||||
#ifndef SEEK_SET
|
||||
|
@ -52,7 +58,7 @@ extern char *strsignal PARAMS ((int));
|
|||
|
||||
#include "progress.h"
|
||||
|
||||
#ifndef NO_MMALLOC
|
||||
#ifdef USE_MMALLOC
|
||||
#include "mmalloc.h"
|
||||
#endif
|
||||
|
||||
|
@ -134,7 +140,9 @@ enum language
|
|||
language_auto, /* Placeholder for automatic setting */
|
||||
language_c, /* C */
|
||||
language_cplus, /* C++ */
|
||||
/* start-sanitize-java */
|
||||
language_java, /* Java */
|
||||
/* end-sanitize-java */
|
||||
language_chill, /* Chill */
|
||||
language_fortran, /* Fortran */
|
||||
language_m2, /* Modula-2 */
|
||||
|
@ -212,6 +220,8 @@ extern int inside_entry_file PARAMS ((CORE_ADDR addr));
|
|||
|
||||
extern int inside_main_func PARAMS ((CORE_ADDR pc));
|
||||
|
||||
extern void _initialize_blockframe PARAMS ((void));
|
||||
|
||||
/* From ch-lang.c, for the moment. (FIXME) */
|
||||
|
||||
extern char *chill_demangle PARAMS ((const char *));
|
||||
|
@ -238,25 +248,20 @@ extern void discard_cleanups PARAMS ((struct cleanup *));
|
|||
extern void discard_final_cleanups PARAMS ((struct cleanup *));
|
||||
extern void discard_my_cleanups PARAMS ((struct cleanup **, struct cleanup *));
|
||||
|
||||
/* The bare make_cleanup function is one of those rare beasts that
|
||||
takes almost any type of function as the first arg and anything that
|
||||
will fit in a "void *" as the second arg.
|
||||
typedef void (*make_cleanup_func) (void *);
|
||||
|
||||
Should be, once all calls and called-functions are cleaned up:
|
||||
extern struct cleanup *
|
||||
make_cleanup PARAMS ((void (*function) (void *), void *));
|
||||
make_cleanup PARAMS ((make_cleanup_func, void *));
|
||||
|
||||
Until then, lint and/or various type-checking compiler options will
|
||||
complain about make_cleanup calls. It'd be wrong to just cast things,
|
||||
since the type actually passed when the function is called would be
|
||||
wrong. */
|
||||
|
||||
extern struct cleanup *make_cleanup ();
|
||||
extern struct cleanup *
|
||||
make_final_cleanup PARAMS ((void (*function) (void *), void *));
|
||||
|
||||
extern struct cleanup *
|
||||
make_my_cleanup PARAMS ((struct cleanup **, void (*function) (void *), void *));
|
||||
|
||||
extern struct cleanup *
|
||||
make_run_cleanup PARAMS ((void (*function) (void *), void *));
|
||||
|
||||
extern struct cleanup *save_cleanups PARAMS ((void));
|
||||
extern struct cleanup *save_final_cleanups PARAMS ((void));
|
||||
extern struct cleanup *save_my_cleanups PARAMS ((struct cleanup **));
|
||||
|
@ -274,6 +279,12 @@ extern int myread PARAMS ((int, char *, int));
|
|||
extern int query PARAMS((char *, ...))
|
||||
ATTR_FORMAT(printf, 1, 2);
|
||||
|
||||
#if !defined (USE_MMALLOC)
|
||||
extern PTR mmalloc PARAMS ((PTR, size_t));
|
||||
extern PTR mrealloc PARAMS ((PTR, PTR, size_t));
|
||||
extern void mfree PARAMS ((PTR, PTR));
|
||||
#endif
|
||||
|
||||
/* From demangle.c */
|
||||
|
||||
extern void set_demangling_style PARAMS ((char *));
|
||||
|
@ -301,6 +312,8 @@ extern void fputs_filtered PARAMS ((const char *, GDB_FILE *));
|
|||
|
||||
extern void fputs_unfiltered PARAMS ((const char *, GDB_FILE *));
|
||||
|
||||
extern int fputc_filtered PARAMS ((int c, GDB_FILE *));
|
||||
|
||||
extern int fputc_unfiltered PARAMS ((int c, GDB_FILE *));
|
||||
|
||||
extern int putchar_unfiltered PARAMS ((int c));
|
||||
|
@ -368,6 +381,8 @@ extern NORETURN void perror_with_name PARAMS ((char *)) ATTR_NORETURN;
|
|||
|
||||
extern void print_sys_errmsg PARAMS ((char *, int));
|
||||
|
||||
extern void _initialize_stack PARAMS ((void));
|
||||
|
||||
/* From regex.c or libc. BSD 4.4 declares this with the argument type as
|
||||
"const char *" in unistd.h, so we can't declare the argument
|
||||
as "char *". */
|
||||
|
@ -403,6 +418,8 @@ extern void print_address_numeric PARAMS ((CORE_ADDR, int, GDB_FILE *));
|
|||
|
||||
extern void print_address PARAMS ((CORE_ADDR, GDB_FILE *));
|
||||
|
||||
extern void _initialize_printcmd PARAMS ((void));
|
||||
|
||||
/* From source.c */
|
||||
|
||||
extern int openp PARAMS ((char *, int, char *, int, int, char **));
|
||||
|
@ -722,18 +739,23 @@ extern void free ();
|
|||
# ifdef __GNUC__
|
||||
# define alloca __builtin_alloca
|
||||
# else /* Not GNU C */
|
||||
# ifdef sparc
|
||||
# include <alloca.h> /* NOTE: Doesn't declare alloca() */
|
||||
# endif
|
||||
# ifdef HAVE_ALLOCA_H
|
||||
# include <alloca.h>
|
||||
# else
|
||||
# ifdef _AIX
|
||||
#pragma alloca
|
||||
# else
|
||||
|
||||
/* We need to be careful not to declare this in a way which conflicts with
|
||||
bison. Bison never declares it as char *, but under various circumstances
|
||||
(like __hpux) we need to use void *. */
|
||||
# if defined (__STDC__) || defined (__hpux)
|
||||
# if defined (__STDC__) || defined (__hpux)
|
||||
extern void *alloca ();
|
||||
# else /* Don't use void *. */
|
||||
# else /* Don't use void *. */
|
||||
extern char *alloca ();
|
||||
# endif /* Don't use void *. */
|
||||
# endif /* Don't use void *. */
|
||||
# endif /* Not _AIX */
|
||||
# endif /* Not HAVE_ALLOCA_H */
|
||||
# endif /* Not GNU C */
|
||||
#endif /* alloca not defined */
|
||||
|
||||
|
@ -1024,7 +1046,8 @@ extern void (*fputs_unfiltered_hook) PARAMS ((const char *linebuffer,
|
|||
extern void (*print_frame_info_listing_hook) PARAMS ((struct symtab *s,
|
||||
int line, int stopline,
|
||||
int noerror));
|
||||
extern int (*query_hook) PARAMS ((const char *, va_list));
|
||||
extern int (*query_hook) PARAMS ((const char *, va_list));
|
||||
extern void (*warning_hook) PARAMS ((const char *, va_list));
|
||||
extern void (*flush_hook) PARAMS ((FILE *stream));
|
||||
extern void (*create_breakpoint_hook) PARAMS ((struct breakpoint *b));
|
||||
extern void (*delete_breakpoint_hook) PARAMS ((struct breakpoint *bpt));
|
||||
|
@ -1035,7 +1058,8 @@ extern void (*registers_changed_hook) PARAMS ((void));
|
|||
extern void (*readline_begin_hook) PARAMS ((char *, ...));
|
||||
extern char * (*readline_hook) PARAMS ((char *));
|
||||
extern void (*readline_end_hook) PARAMS ((void));
|
||||
|
||||
extern void (*pc_changed_hook) PARAMS ((void));
|
||||
extern void (*context_hook) PARAMS ((int));
|
||||
extern int (*target_wait_hook) PARAMS ((int pid,
|
||||
struct target_waitstatus *status));
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue