X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fbuildsym.h;h=f559b4b04b5284a535194010b8c882c77372671f;hb=58b61394cfd1f96444c1debd9ba9e0ea69d439f2;hp=cb16be19c3071416a349df76bb6418518768cd4a;hpb=a9762ec78a53fbe9209fe1654db42df0cd328d50;p=binutils-gdb.git diff --git a/gdb/buildsym.h b/gdb/buildsym.h index cb16be19c30..f559b4b04b5 100644 --- a/gdb/buildsym.h +++ b/gdb/buildsym.h @@ -1,6 +1,7 @@ /* Build symbol tables in GDB's internal format. Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1995, 1996, - 1997, 1998, 1999, 2000, 2002, 2003, 2007 Free Software Foundation, Inc. + 1997, 1998, 1999, 2000, 2002, 2003, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. This file is part of GDB. @@ -22,6 +23,7 @@ struct objfile; struct symbol; +struct addrmap; /* This module provides definitions used for creating and adding to the symbol table. These routines are called from various symbol- @@ -45,12 +47,14 @@ struct block; hashname() */ /* Name of source file whose symbol data we are now processing. This - comes from a symbol of type N_SO. */ + comes from a symbol of type N_SO for stabs. For Dwarf it comes from the + DW_AT_name attribute of a DW_TAG_compile_unit DIE. */ EXTERN char *last_source_file; /* Core address of start of text of current source file. This too - comes from the N_SO symbol. */ + comes from the N_SO symbol. For Dwarf it typically comes from the + DW_AT_low_pc attribute of a DW_TAG_compile_unit DIE. */ EXTERN CORE_ADDR last_source_start_addr; @@ -71,8 +75,6 @@ struct subfile struct symtab *symtab; }; -EXTERN struct subfile *subfiles; - EXTERN struct subfile *current_subfile; /* Global variable which, when set, indicates that we are processing a @@ -123,6 +125,10 @@ EXTERN struct pending *local_symbols; EXTERN struct pending *param_symbols; +/* "using" directives local to lexical context. */ + +EXTERN struct using_direct *using_directives; + /* Stack representing unclosed lexical contexts (that will become blocks, eventually). */ @@ -136,6 +142,10 @@ struct context_stack struct pending *params; + /* Pending using directives at the time we entered. */ + + struct using_direct *using_directives; + /* Pointer into blocklist as of entry */ struct pending_block *old_blocks; @@ -232,11 +242,14 @@ extern void add_symbol_to_list (struct symbol *symbol, extern struct symbol *find_symbol_in_list (struct pending *list, char *name, int length); -extern void finish_block (struct symbol *symbol, - struct pending **listhead, - struct pending_block *old_blocks, - CORE_ADDR start, CORE_ADDR end, - struct objfile *objfile); +extern struct block *finish_block (struct symbol *symbol, + struct pending **listhead, + struct pending_block *old_blocks, + CORE_ADDR start, CORE_ADDR end, + struct objfile *objfile); + +extern void record_block_range (struct block *, + CORE_ADDR start, CORE_ADDR end_inclusive); extern void really_free_pendings (void *dummy);