> It seems pretty straightforward to me that a function named copy_tree_r > should copy everything that isn't always shared (like decls). It > already copies SAVE_EXPR, after all; how is copying STATEMENT_LIST going > to cause trouble in a context where copying SAVE_EXPR isn't?
OK, this can make sense, callers should handle special nodes like SAVE_EXPR, TARGET_EXPR, STATEMENT_LIST, etc themselves. In light of this, they need to be audited and adjusted, as you did already a few days ago. So I think I can live with your 40975-3.patch in the end. Thanks for your patience. -- Eric Botcazou