From: Jason Merrill Date: Tue, 14 Oct 1997 18:43:16 +0000 (+0000) Subject: * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns. X-Git-Tag: releases/egcs-1.0.0~344 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f06327624c2ba261ae82d633a29fa8fa98506bef;p=thirdparty%2Fgcc.git * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns. From-SVN: r15898 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d4c5d7da8374..5b9bdbb414bb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Tue Oct 14 11:30:29 1997 Jason Merrill + + * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns. + Fri Oct 10 13:46:56 1997 Doug Evans * configure.in: Handle --with-newlib. diff --git a/gcc/tree.c b/gcc/tree.c index 9d6850f726c4..6812aa4aade4 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -704,6 +704,16 @@ savealloc (size) { return (char *) obstack_alloc (saveable_obstack, size); } + +/* Allocate SIZE bytes in the expression obstack + and return a pointer to them. */ + +char * +expralloc (size) + int size; +{ + return (char *) obstack_alloc (expression_obstack, size); +} /* Print out which obstack an object is in. */ @@ -2002,6 +2012,20 @@ build_decl_list (parm, value) return node; } +/* Similar, but build on the expression_obstack. */ + +tree +build_expr_list (parm, value) + tree parm, value; +{ + register tree node; + register struct obstack *ambient_obstack = current_obstack; + current_obstack = expression_obstack; + node = build_tree_list (parm, value); + current_obstack = ambient_obstack; + return node; +} + /* Return a newly created TREE_LIST node whose purpose and value fields are PARM and VALUE and whose TREE_CHAIN is CHAIN. */ @@ -2048,6 +2072,20 @@ decl_tree_cons (purpose, value, chain) return node; } +/* Similar, but build on the expression_obstack. */ + +tree +expr_tree_cons (purpose, value, chain) + tree purpose, value, chain; +{ + register tree node; + register struct obstack *ambient_obstack = current_obstack; + current_obstack = expression_obstack; + node = tree_cons (purpose, value, chain); + current_obstack = ambient_obstack; + return node; +} + /* Same as `tree_cons' but make a permanent object. */ tree