X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fbuildsym.h;h=25fe9b14d37f43b7576ce6d52b7634343320586c;hb=9b700aad366dceee82141afc69b6ee69802b90c9;hp=e3a34c9d0805b09277aba7290bd4729ddda62743;hpb=552316ee17f58fab18ab2611e88758acc5d84f14;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/buildsym.h b/gdb/buildsym.h index e3a34c9d08..25fe9b14d3 100644 --- a/gdb/buildsym.h +++ b/gdb/buildsym.h @@ -1,21 +1,23 @@ /* Build symbol tables in GDB's internal format. - Copyright 1986-1993, 1996-1999 Free Software Foundation, Inc. + Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1995, 1996, + 1997, 1998, 1999, 2000 Free Software Foundation, Inc. -This file is part of GDB. + This file is part of GDB. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #if !defined (BUILDSYM_H) #define BUILDSYM_H 1 @@ -171,11 +173,8 @@ EXTERN int context_stack_depth; EXTERN int context_stack_size; -/* Macro "function" for popping contexts from the stack. Pushing is - done by a real function, push_context. This returns a pointer to a - struct context_stack. */ - -#define pop_context() (&context_stack[--context_stack_depth]); +/* Non-zero if the context stack is empty. */ +#define outermost_context_p() (context_stack_depth == 0) /* Nonzero if within a function (so symbols should be local, if nothing says specifically). */ @@ -230,6 +229,8 @@ EXTERN int type_vector_length; #define INITIAL_TYPE_VECTOR_LENGTH 160 +extern void add_free_pendings (struct pending *list); + extern void add_symbol_to_list (struct symbol *symbol, struct pending **listhead); @@ -242,7 +243,7 @@ extern void finish_block (struct symbol *symbol, CORE_ADDR start, CORE_ADDR end, struct objfile *objfile); -extern void really_free_pendings (int foo); +extern void really_free_pendings (PTR dummy); extern void start_subfile (char *name, char *dirname); @@ -265,6 +266,8 @@ extern void buildsym_init (void); extern struct context_stack *push_context (int desc, CORE_ADDR valu); +extern struct context_stack *pop_context (void); + extern void record_line (struct subfile *subfile, int line, CORE_ADDR pc); extern void start_symtab (char *name, char *dirname, CORE_ADDR start_addr); @@ -273,11 +276,11 @@ extern int hashname (char *name); extern void free_pending_blocks (void); -/* FIXME: Note that this is used only in buildsym.c and dstread.c, - which should be fixed to not need direct access to - make_blockvector. */ +/* OBSOLETE FIXME: Note that this is used only in buildsym.c and dstread.c, */ +/* OBSOLETE which should be fixed to not need direct access to */ +/* OBSOLETE make_blockvector. */ -extern struct blockvector *make_blockvector (struct objfile *objfile); +/* OBSOLETE extern struct blockvector *make_blockvector (struct objfile *objfile); */ /* FIXME: Note that this is used only in buildsym.c and dstread.c, which should be fixed to not need direct access to @@ -292,6 +295,10 @@ extern void record_debugformat (char *format); extern void merge_symbol_lists (struct pending **srclist, struct pending **targetlist); +/* The macro table for the compilation unit whose symbols we're + currently reading. All the symtabs for this CU will point to this. */ +EXTERN struct macro_table *pending_macros; + #undef EXTERN #endif /* defined (BUILDSYM_H) */