diff options
| author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-12-05 23:48:19 +0000 |
|---|---|---|
| committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-12-05 23:48:19 +0000 |
| commit | 054e01a7e41b19576369dc78d910f91412baa321 (patch) | |
| tree | d7dc3135dd465d3142b9f9b46de3296e9776e05b /gcc/cp/tree.c | |
| parent | 26aefe065f7cb9c6f8f71f2c7d42a55289a451ba (diff) | |
| download | ppe42-gcc-054e01a7e41b19576369dc78d910f91412baa321.tar.gz ppe42-gcc-054e01a7e41b19576369dc78d910f91412baa321.zip | |
* langhooks.h (struct lang_hooks_for_tree_inlining): Add
start_inlining, end_inlining.
* tree-inline.c (expand_call_inline): Call them.
* langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
(LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
(LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
* langhooks.c (lhd_tree_inlining_start_inlining): New fn.
(lhd_tree_inlining_end_inlining): New fn.
* cp-lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
(LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
* tree.c (cp_start_inlining, cp_end_inlining): New fns.
* pt.c (push_tinst_level): No longer static.
* cp-tree.h: Declare them.
* init.c (resolve_offset_ref): Don't check access for the base
conversion to access a FIELD_DECL.
* cp-tree.h (TYPE_REFFN_P): New macro.
* decl.c (bad_specifiers): Check it, too.
* rtti.c (create_pseudo_type_info): Set CLASSTYPE_INTERFACE_ONLY
on the __*_type_info type if we haven't seen a definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47703 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/tree.c')
| -rw-r--r-- | gcc/cp/tree.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 600c6e3746d..1d0c32475ad 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -2230,6 +2230,30 @@ cp_copy_res_decl_for_inlining (result, fn, caller, decl_map_, return var; } +/* Record that we're about to start inlining FN, and return non-zero if + that's OK. Used for lang_hooks.tree_inlining.start_inlining. */ + +int +cp_start_inlining (fn) + tree fn; +{ + if (DECL_TEMPLATE_INSTANTIATION (fn)) + return push_tinst_level (fn); + else + return 1; +} + +/* Record that we're done inlining FN. Used for + lang_hooks.tree_inlining.end_inlining. */ + +void +cp_end_inlining (fn) + tree fn ATTRIBUTE_UNUSED; +{ + if (DECL_TEMPLATE_INSTANTIATION (fn)) + pop_tinst_level (); +} + /* Initialize tree.c. */ void |

