aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Reichelt <reichelt@igpm.rwth-aachen.de>2005-11-25 12:43:38 +0000
committerVolker Reichelt <reichelt@gcc.gnu.org>2005-11-25 12:43:38 +0000
commit260cd73f5983bc7368c3a223f50b1566687b1980 (patch)
treeb8d397281b6e6d3f5e706c6330cbf5ffd9c0e46b
parent3f231c29370df4a5b2ff441d8df1c0b8f5e87804 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/cp/pt.c26
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. */