This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
DECL_SAVED_INSNS vs. tree inliner
- From: Steven Bosscher <s dot bosscher at student dot tudelft dot nl>
- To: gcc at gcc dot gnu dot org
- Date: 13 May 2003 23:30:07 +0200
- Subject: DECL_SAVED_INSNS vs. tree inliner
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