[Bug debug/20967] g++ generates same DW_AT_ranges info for two different functions
drow at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Tue Apr 12 13:14:00 GMT 2005
------- Additional Comments From drow at gcc dot gnu dot org 2005-04-12 13:14 -------
No version information. Is this HEAD, with Jim's earlier DW_AT_ranges patch?
I don't think your understanding is correct, but you didn't show enough of the
DIE tree to be sure. Ignore inlined functions for a moment; let's just think
about functions and lexical blocks. A lexical block normally has a range of
associated PC addresses, and a function normally has a high and low pc. The
lexical block is a strict subset of the function, so it should be included in
the pc attributes of the function.
I'm guessing from your description that _S_get_pool is inlined into
get_allocator is inlined into main. Because _S_get_pool is inside of
get_allocator, it makes sense for its PC ranges to be a subset of those for
get_allocator. A PC always belongs to the innermost block.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |drow at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20967
More information about the Gcc-bugs
mailing list