diff options
author | Gavin Romig-Koch <gavin@cygnus.com> | 1999-08-13 18:22:59 +0000 |
---|---|---|
committer | Gavin Romig-Koch <gavin@gcc.gnu.org> | 1999-08-13 18:22:59 +0000 |
commit | 0a818f84ce73107a93940532da63c5f1738818e3 (patch) | |
tree | 42b99d02c99ecd90d6223b6db07d98fd410eaa4e /gcc/tree.c | |
parent | e3beae8c3c6ede0f96c0f49f8c456bb22786225c (diff) | |
download | gcc-0a818f84ce73107a93940532da63c5f1738818e3.zip gcc-0a818f84ce73107a93940532da63c5f1738818e3.tar.gz gcc-0a818f84ce73107a93940532da63c5f1738818e3.tar.bz2 |
For gcc:
tree.c (lang_unsave_expr_now) : New.
(unsave_expr_now): Call lang_unsave_expr_now.
tree.h (lang_unsave_expr_now) : New.
For gcc/cp:
cp-tree.h (init_cplus_unsave): New.
(cplus_unsave_expr_now): New.
lex.c (init_parse): Call init_cplus_unsave.
tree.c (init_cplus_unsave): New.
(cplus_unsave_expr_now): New.
From-SVN: r28705
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -269,6 +269,10 @@ static void build_real_from_int_cst_1 PROTO((PTR)); extern char *mode_name[]; void gcc_obstack_init (); + +/* If non-null, a language specific helper for unsave_expr_now. */ + +int (*lang_unsave_expr_now) PROTO((tree)); /* Init the principal obstacks. */ @@ -2426,7 +2430,11 @@ first_rtl_op (code) } /* Modify a tree in place so that all the evaluate only once things - are cleared out. Return the EXPR given. */ + are cleared out. Return the EXPR given. + + LANG_UNSAVE_EXPR_NOW, if set, is a pointer to a function to handle + language specific nodes. +*/ tree unsave_expr_now (expr) @@ -2473,6 +2481,8 @@ unsave_expr_now (expr) break; default: + if (lang_unsave_expr_now) + (*lang_unsave_expr_now) (expr); break; } |