diff options
author | Volker Reichelt <reichelt@igpm.rwth-aachen.de> | 2005-11-25 12:43:38 +0000 |
---|---|---|
committer | Volker Reichelt <reichelt@gcc.gnu.org> | 2005-11-25 12:43:38 +0000 |
commit | 260cd73f5983bc7368c3a223f50b1566687b1980 (patch) | |
tree | b8d397281b6e6d3f5e706c6330cbf5ffd9c0e46b | |
parent | 3f231c29370df4a5b2ff441d8df1c0b8f5e87804 (diff) | |
download | gcc-260cd73f5983bc7368c3a223f50b1566687b1980.zip gcc-260cd73f5983bc7368c3a223f50b1566687b1980.tar.gz gcc-260cd73f5983bc7368c3a223f50b1566687b1980.tar.bz2 |
pt.c (template_class_depth_real): Remove.
* pt.c (template_class_depth_real): Remove. Move functionality to ...
(template_class_depth): ... here, replacing count_specializations
with 0. Adjust comment.
From-SVN: r107498
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/pt.c | 26 |
2 files changed, 11 insertions, 21 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index dbf3330..f3fbb46 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2005-11-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + * pt.c (template_class_depth_real): Remove. Move functionality to ... + (template_class_depth): ... here, replacing count_specializations + with 0. Adjust comment. + 2005-11-24 Richard Guenther <rguenther@suse.de> Dirk Mueller <dmueller@suse.de> diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 9b9a2b6..dba4c44 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -137,7 +137,6 @@ static tree tsubst_template_parms (tree, tree, tsubst_flags_t); static void regenerate_decl_from_template (tree, tree); static tree most_specialized (tree, tree, tree); static tree most_specialized_class (tree, tree); -static int template_class_depth_real (tree, int); static tree tsubst_aggr_type (tree, tree, tsubst_flags_t, tree, int); static tree tsubst_arg_types (tree, tree, tsubst_flags_t, tree); static tree tsubst_function_type (tree, tree, tsubst_flags_t, tree); @@ -266,15 +265,14 @@ finish_member_template_decl (tree decl) A<T>::B<U> has depth two, while A<T> has depth one. Both A<T>::B<int> and A<int>::B<U> have depth one, if - COUNT_SPECIALIZATIONS is 0 or if they are instantiations, not - specializations. + they are instantiations, not specializations. This function is guaranteed to return 0 if passed NULL_TREE so that, for example, `template_class_depth (current_class_type)' is always safe. */ -static int -template_class_depth_real (tree type, int count_specializations) +int +template_class_depth (tree type) { int depth; @@ -287,18 +285,14 @@ template_class_depth_real (tree type, int count_specializations) { if (CLASSTYPE_TEMPLATE_INFO (type) && PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (type)) - && ((count_specializations - && CLASSTYPE_TEMPLATE_SPECIALIZATION (type)) - || uses_template_parms (CLASSTYPE_TI_ARGS (type)))) + && uses_template_parms (CLASSTYPE_TI_ARGS (type))) ++depth; } else { if (DECL_TEMPLATE_INFO (type) && PRIMARY_TEMPLATE_P (DECL_TI_TEMPLATE (type)) - && ((count_specializations - && DECL_TEMPLATE_SPECIALIZATION (type)) - || uses_template_parms (DECL_TI_ARGS (type)))) + && uses_template_parms (DECL_TI_ARGS (type))) ++depth; } } @@ -306,16 +300,6 @@ template_class_depth_real (tree type, int count_specializations) return depth; } -/* Returns the template nesting level of the indicated class TYPE. - Like template_class_depth_real, but instantiations do not count in - the depth. */ - -int -template_class_depth (tree type) -{ - return template_class_depth_real (type, /*count_specializations=*/0); -} - /* Returns 1 if processing DECL as part of do_pending_inlines needs us to push template parms. */ |