X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fsymtab.h;h=7ae93468257d48c8abf3b89ac4fe6e343e266af0;hb=02e423b9b296edcf2fc50161c361062727a3263d;hp=1195856a57afd0f689dc9816480844daef7f912a;hpb=7e73cedf75b6388ab7786d5c8bd06368f94ee69b;p=binutils-gdb.git diff --git a/gdb/symtab.h b/gdb/symtab.h index 1195856a57a..7ae93468257 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -1,5 +1,6 @@ /* Symbol table definitions for GDB. - Copyright 1986, 89, 91, 92, 93, 94, 95, 96, 1998 + Copyright 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, + 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of GDB. @@ -26,7 +27,7 @@ #include "obstack.h" #define obstack_chunk_alloc xmalloc -#define obstack_chunk_free free +#define obstack_chunk_free xfree #include "bcache.h" /* Don't do this; it means that if some .o's are compiled with GNU C @@ -182,7 +183,7 @@ extern CORE_ADDR symbol_overlayed_address (CORE_ADDR, asection *); SYMBOL_LANGUAGE (symbol) = language_cplus; \ SYMBOL_CPLUS_DEMANGLED_NAME (symbol) = \ obsavestring (demangled, strlen (demangled), (obstack)); \ - free (demangled); \ + xfree (demangled); \ } \ else \ { \ @@ -199,7 +200,7 @@ extern CORE_ADDR symbol_overlayed_address (CORE_ADDR, asection *); SYMBOL_LANGUAGE (symbol) = language_java; \ SYMBOL_CPLUS_DEMANGLED_NAME (symbol) = \ obsavestring (demangled, strlen (demangled), (obstack)); \ - free (demangled); \ + xfree (demangled); \ } \ else \ { \ @@ -217,7 +218,7 @@ extern CORE_ADDR symbol_overlayed_address (CORE_ADDR, asection *); SYMBOL_LANGUAGE (symbol) = language_chill; \ SYMBOL_CHILL_DEMANGLED_NAME (symbol) = \ obsavestring (demangled, strlen (demangled), (obstack)); \ - free (demangled); \ + xfree (demangled); \ } \ else \ { \ @@ -828,8 +829,9 @@ struct section_offsets }; #define ANOFFSET(secoff, whichone) \ - ((whichone == -1) ? \ - (internal_error ("Section index is uninitialized"), -1) : secoff->offsets[whichone]) + ((whichone == -1) \ + ? (internal_error (__FILE__, __LINE__, "Section index is uninitialized"), -1) \ + : secoff->offsets[whichone]) /* The maximum possible size of a section_offsets table. */ @@ -1044,30 +1046,6 @@ struct partial_symtab #define VTBL_FNADDR_OFFSET 2 -/* Macro that yields non-zero value iff NAME is the prefix for C++ operator - names. If you leave out the parenthesis here you will lose! */ -#define OPNAME_PREFIX_P(NAME) \ - (!strncmp (NAME, "operator", 8)) - -/* Macro that yields non-zero value iff NAME is the prefix for C++ vtbl - names. Note that this macro is g++ specific (FIXME). - '_vt$' is the old cfront-style vtables; '_VT$' is the new - style, using thunks (where '$' is really CPLUS_MARKER). */ - -#define VTBL_PREFIX_P(NAME) \ - (((NAME)[0] == '_' \ - && (((NAME)[1] == 'V' && (NAME)[2] == 'T') \ - || ((NAME)[1] == 'v' && (NAME)[2] == 't')) \ - && is_cplus_marker ((NAME)[3])) || ((NAME)[0]=='_' && (NAME)[1]=='_' \ - && (NAME)[2]=='v' && (NAME)[3]=='t' && (NAME)[4]=='_')) - -/* Macro that yields non-zero value iff NAME is the prefix for C++ destructor - names. Note that this macro is g++ specific (FIXME). */ - -#define DESTRUCTOR_PREFIX_P(NAME) \ - ((NAME)[0] == '_' && is_cplus_marker ((NAME)[1]) && (NAME)[2] == '_') - - /* External variables and functions for the objects described above. */ /* This symtab variable specifies the current file for printing source lines */ @@ -1094,7 +1072,7 @@ extern int asm_demangle; /* lookup a symbol table by source file name */ -extern struct symtab *lookup_symtab (char *); +extern struct symtab *lookup_symtab (const char *); /* lookup a symbol by name (optional block, optional symtab) */ @@ -1144,7 +1122,7 @@ find_pc_sect_partial_function (CORE_ADDR, asection *, /* lookup partial symbol table by filename */ -extern struct partial_symtab *lookup_partial_symtab (char *); +extern struct partial_symtab *lookup_partial_symtab (const char *); /* lookup partial symbol table by address */ @@ -1345,9 +1323,6 @@ extern struct symtabs_and_lines decode_line_spec (char *, int); extern struct symtabs_and_lines decode_line_spec_1 (char *, int); -extern struct symtabs_and_lines -decode_line_1 (char **, int, struct symtab *, int, char ***); - /* Symmisc.c */ void maintenance_print_symbols (char *, int); @@ -1384,12 +1359,20 @@ extern void select_source_symtab (struct symtab *); extern char **make_symbol_completion_list (char *, char *); +extern char **make_file_symbol_completion_list (char *, char *, char *); + extern struct symbol **make_symbol_overload_list (struct symbol *); +extern char **make_source_files_completion_list (char *, char *); + /* symtab.c */ extern struct partial_symtab *find_main_psymtab (void); +extern struct symtab *find_line_symtab (struct symtab *, int, int *, int *); + +extern struct symtab_and_line find_function_start_sal (struct symbol *sym, int); + /* blockframe.c */ extern struct blockvector *blockvector_for_pc (CORE_ADDR, int *); @@ -1444,4 +1427,11 @@ extern void search_symbols (char *, namespace_enum, int, char **, extern void free_search_symbols (struct symbol_search *); extern struct cleanup *make_cleanup_free_search_symbols (struct symbol_search *); +/* The name of the ``main'' function. + FIXME: cagney/2001-03-20: Can't make main_name() const since some + of the calling code currently assumes that the string isn't + const. */ +extern void set_main_name (const char *name); +extern /*const*/ char *main_name (void); + #endif /* !defined(SYMTAB_H) */