--- gcc/cp/tree.def 2018/04/24 18:20:22 1.1.1.1 +++ gcc/cp/tree.def 2018/04/24 18:27:17 1.1.1.2 @@ -18,7 +18,8 @@ GNU General Public License for more deta You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ /* Reference to the contents of an offset @@ -34,6 +35,15 @@ DEFTREECODE (CP_OFFSET_REF, "cp_offset_r DEFTREECODE (DELETE_EXPR, "dl_expr", "e", 2) DEFTREECODE (VEC_DELETE_EXPR, "vec_dl_expr", "e", 2) +/* For a UNSAVE_EXPR, operand 0 is the value to unsave. By unsave, we + mean that all _EXPRs such as TARGET_EXPRs, SAVE_EXPRs, + WITH_CLEANUP_EXPRs, CALL_EXPRs and RTL_EXPRs, that are protected + from being evaluated more than once should be reset so that a new + expand_expr call of this expr will cause those to be re-evaluated. + This is useful when we want to reuse a tree in different places, + but where we must re-expand. */ +DEFTREECODE (UNSAVE_EXPR, "unsave_expr", "e", 1) + /* Value is reference to particular overloaded class method. Operand 0 is the class name (an IDENTIFIER_NODE); operand 1 is the field (also an IDENTIFIER_NODE). @@ -101,3 +111,6 @@ DEFTREECODE (UNINSTANTIATED_P_TYPE, "uni Other kinds of thunks may be defined later. */ DEFTREECODE (THUNK_DECL, "thunk_decl", "d", 0) + +/* A namespace declaration. */ +DEFTREECODE (NAMESPACE_DECL, "namespace_decl", "d", 0)