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:
Jason Molenda 1998-10-14 01:15:00 +00:00
parent 9a3d6f4eef
commit ad3b8c4a1a
23 changed files with 354 additions and 187 deletions

View file

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