From: Mark Mitchell Date: Tue, 17 Aug 1999 23:07:54 +0000 (+0000) Subject: cp-tree.h (back_end_hook): New variable. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1b12a13e40038d786ee0e3e757fe03905ec5eecb;p=platform%2Fupstream%2Fgcc.git cp-tree.h (back_end_hook): New variable. * cp-tree.h (back_end_hook): New variable. * decl2.c (back_end_hook): Define it. (finish_file): If it's non-NULL, call it. From-SVN: r28741 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ee595ab..86b452b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,9 @@ 1999-08-17 Mark Mitchell + * cp-tree.h (back_end_hook): New variable. + * decl2.c (back_end_hook): Define it. + (finish_file): If it's non-NULL, call it. + * decl.c (add_decl_to_level): New function. (push_local_binding): Use it. (find_binding): Fix typo in comment. diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 91ce272..6c585d4 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -613,6 +613,12 @@ extern int flag_permissive; extern int flag_access_control; +/* If this variable is defined to a non-NULL value, it will be called + after the file has been completely parsed. The argument will be + the GLOBAL_NAMESPACE. */ + +extern void (*back_end_hook) PROTO((tree)); + /* C++ language-specific tree codes. */ #define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM, diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 7e0e23b..7fd9be0 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -476,6 +476,11 @@ int flag_vtable_gc; int flag_permissive; +/* If this variable is defined to a non-NULL value, it will be called + after the file has been completely parsed. */ + +void (*back_end_hook) PROTO((tree)); + /* Table of language-dependent -f options. STRING is the option name. VARIABLE is the address of the variable. ON_VALUE is the value to store in VARIABLE @@ -3675,6 +3680,11 @@ finish_file () if (flag_dump_translation_unit) dump_node_to_file (global_namespace, flag_dump_translation_unit); + /* If there's some tool that wants to examine the entire translation + unit, let it do so now. */ + if (back_end_hook) + (*back_end_hook) (global_namespace); + this_time = get_run_time (); parse_time -= this_time - start_time; varconst_time += this_time - start_time;