This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [lto] delay function materialization


On Mon, Oct 22, 2007 at 03:28:42PM -0700, Nathan Froyd wrote:
> And we would be asked for the FIELD_DECL corresponding to DIE 0xd617.
> The problem is that we would attempt to read the DIE directly (usually
> through a call chain like lto_read_function_body -> lto_read_body ->
> input_globals -> lto_resolve_field_ref -> lto_read_DIE_at_ptr), ignoring
> that it is meant to be read in a particular context, i.e. that of its
> parent structure.  When reading the field, we'd assert that we were in
> such a context and fall over.

Are you already following abstract origin / specification for
"context" in this sense?  If not, keep it in mind; you will run
into trouble in C++ where this is typical:

DW_TAG_structure_type
  DW_TAG_subprogram    <---\
    DW_AT_declaration      |
DW_TAG_subprogram          |
  DW_AT_specification  ----/
  

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]