* buildsym.c (finish_block): Don't adjust the boundaries of

nested functions.
This commit is contained in:
Daniel Jacobowitz 2006-08-25 16:32:32 +00:00
parent 74869ac7a4
commit 14711c8202
2 changed files with 13 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2006-08-25 Daniel Jacobowitz <dan@codesourcery.com>
* buildsym.c (finish_block): Don't adjust the boundaries of
nested functions.
2006-08-24 Andreas Schwab <schwab@suse.de>
* symfile.c (add_symbol_file_command): Fix off-by-one when

View File

@ -400,9 +400,14 @@ finish_block (struct symbol *symbol, struct pending **listhead,
#if 1
/* Check to be sure the blocks are nested as we receive
them. If the compiler/assembler/linker work, this just
burns a small amount of time. */
if (BLOCK_START (pblock->block) < BLOCK_START (block) ||
BLOCK_END (pblock->block) > BLOCK_END (block))
burns a small amount of time.
Skip blocks which correspond to a function; they're not
physically nested inside this other blocks, only
lexically nested. */
if (BLOCK_FUNCTION (pblock->block) == NULL
&& (BLOCK_START (pblock->block) < BLOCK_START (block)
|| BLOCK_END (pblock->block) > BLOCK_END (block)))
{
if (symbol)
{