From e41f9ec304f55c97a7ddc607081ed16220a3a04e Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Mon, 22 Dec 2003 21:00:55 +0000 Subject: [PATCH] re PR c++/5050 (template instantiation depth exceeds/maybe recursion problem) 2003-12-22 Andrew Pinski PR c++/5050 * tree.c (cp_start_inlining): Remove. (cp_end_inlining): Remove. * cp-lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING): Do not define. (LANG_HOOKS_TREE_INLINING_END_INLINING): Do not define. * cp-tree.h (cp_start_inlining): Do not declare. (cp_end_inlining): Do not declare. PR c++/5050 * g++.dg/template/recurse1.C: New test. From-SVN: r74950 --- gcc/cp/ChangeLog | 10 ++++++++++ gcc/cp/cp-lang.c | 4 ---- gcc/cp/cp-tree.h | 2 -- gcc/cp/tree.c | 24 ------------------------ gcc/testsuite/ChangeLog | 5 +++++ 5 files changed, 15 insertions(+), 30 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9b404ec01b32..a8cc0cd17d2f 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,13 @@ +2003-12-22 Andrew Pinski + + PR c++/5050 + * tree.c (cp_start_inlining): Remove. + (cp_end_inlining): Remove. + * cp-lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING): Do not define. + (LANG_HOOKS_TREE_INLINING_END_INLINING): Do not define. + * cp-tree.h (cp_start_inlining): Do not declare. + (cp_end_inlining): Do not declare. + 2003-12-21 Mark Mitchell PR c++/11554 diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c index 0d8a4e355b5f..5eb2010ffd8c 100644 --- a/gcc/cp/cp-lang.c +++ b/gcc/cp/cp-lang.c @@ -129,10 +129,6 @@ static bool cp_var_mod_type_p PARAMS ((tree)); #define LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P anon_aggr_type_p #undef LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P #define LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P cp_var_mod_type_p -#undef LANG_HOOKS_TREE_INLINING_START_INLINING -#define LANG_HOOKS_TREE_INLINING_START_INLINING cp_start_inlining -#undef LANG_HOOKS_TREE_INLINING_END_INLINING -#define LANG_HOOKS_TREE_INLINING_END_INLINING cp_end_inlining #undef LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN #define LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN cp_dump_tree #undef LANG_HOOKS_TREE_DUMP_TYPE_QUALS_FN diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index d9388650dd57..dcff3e95df52 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -4379,8 +4379,6 @@ extern int cp_is_overload_p PARAMS ((tree)); extern int cp_auto_var_in_fn_p PARAMS ((tree,tree)); extern tree cp_copy_res_decl_for_inlining PARAMS ((tree, tree, tree, void*, int*, void*)); -extern int cp_start_inlining PARAMS ((tree)); -extern void cp_end_inlining PARAMS ((tree)); /* in typeck.c */ extern int string_conv_p PARAMS ((tree, tree, int)); diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 1551df051079..90464b5f0d3a 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -2302,30 +2302,6 @@ cp_copy_res_decl_for_inlining (result, fn, caller, decl_map_, return var; } -/* Record that we're about to start inlining FN, and return nonzero 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 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f9042f49206e..d43d64f96c60 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2003-12-22 Andrew Pinski + + PR c++/5050 + * g++.dg/template/recurse1.C: New test. + 2003-12-21 Mark Mitchell PR c++/11554 -- 2.47.2