DECL_SAVED_INSNS vs. tree inliner

Steven Bosscher s.bosscher@student.tudelft.nl
Tue May 13 21:31:00 GMT 2003


Hi,

When I was looking at flag_inline_trees (which should go away) and
flag_inline_functions, I stumbled upon DECL_SAVED_INSNS.  I would expect
that the thing that this macro points to is _always_ equal to zero for C
and C++.  Indeed, in C++ there is this assertion:

  /* In C++, we should never be saving RTL for the function.  */
  my_friendly_assert (!DECL_SAVED_INSNS (fn), 20010903);

But in c-decl and c-semantics, this macro is still used.  Apparently
this is related to nested functions but I don't quite understand how,
and I couldn't figure it out from the code.

So my question is, should DECL_SAVED_INSNS alwasy be equal zero if the
tree inliner is used?  If not, why?

This is relevant because _if_ this macro should be zero, then we can
fold the saved_tree member of tree_decl in the decl_u2 union once the
uses_rtl_inliner langhook is in place.

Thanks,
Steven




More information about the Gcc mailing list