aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorMark Mitchell <mmitchel@gcc.gnu.org>2000-03-25 16:30:33 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2000-03-25 16:30:33 +0000
commite5361bbe07fe65a2e7310fe2755a4ae30ae6d226 (patch)
tree15e8ffd403ba4d0011448da7a19711fd39339d87 /gcc/cp
parentb5fc444b5f2b25c0c19bc02587b41c54da5ab243 (diff)
downloadgcc-e5361bbe07fe65a2e7310fe2755a4ae30ae6d226.zip
gcc-e5361bbe07fe65a2e7310fe2755a4ae30ae6d226.tar.gz
gcc-e5361bbe07fe65a2e7310fe2755a4ae30ae6d226.tar.bz2
Fix typo in ChangeLog
From-SVN: r32739
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog3
-rw-r--r--gcc/cp/cp-tree.h7
-rw-r--r--gcc/cp/decl.c4
-rw-r--r--gcc/cp/dump.c1
-rw-r--r--gcc/cp/error.c2
-rw-r--r--gcc/cp/friend.c2
-rw-r--r--gcc/cp/pt.c14
7 files changed, 19 insertions, 14 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 619d88a..ee0f6da 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -9,7 +9,8 @@
2000-03-20 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
- * call.c (check_dtor_name,build_new_method_call): Likewise.
+ * call.c (check_dtor_name,build_new_method_call): Use DECL_P and
+ TYPE_P macros.
* decl.c (push_class_binding,poplevel,pushtag,lookup_namespace_name,
make_typename_type,check_initializer,cp_finish_decl,xref_tag): Likewise.
* decl2.c (grokfield,build_expr_from_tree,build_expr_from_tree,
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 9ccd28a..77bc9913 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -2837,9 +2837,12 @@ extern int flag_new_for_scope;
#define DECL_TEMPLATE_SPECIALIZATION(NODE) (DECL_USE_TEMPLATE (NODE) == 2)
#define SET_DECL_TEMPLATE_SPECIALIZATION(NODE) (DECL_USE_TEMPLATE (NODE) = 2)
-#define CLASSTYPE_TEMPLATE_SPECIALIZATION(NODE) \
+
+/* Nonzero if NODE is a partial specialization. This flag is not set
+ for a full specialization. */
+#define CLASSTYPE_PARTIAL_SPECIALIZATION(NODE) \
(CLASSTYPE_USE_TEMPLATE (NODE) == 2)
-#define SET_CLASSTYPE_TEMPLATE_SPECIALIZATION(NODE) \
+#define SET_CLASSTYPE_PARTIAL_SPECIALIZATION(NODE) \
(CLASSTYPE_USE_TEMPLATE (NODE) = 2)
#define DECL_IMPLICIT_INSTANTIATION(NODE) (DECL_USE_TEMPLATE (NODE) == 1)
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index ff2cf40..b42e279 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -10647,8 +10647,8 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
t = ctype;
while (t != NULL_TREE && CLASS_TYPE_P (t))
{
- if (CLASSTYPE_TEMPLATE_INFO (t) &&
- !CLASSTYPE_TEMPLATE_SPECIALIZATION (t))
+ if (CLASSTYPE_TEMPLATE_INFO (t)
+ && uses_template_parms (CLASSTYPE_TI_ARGS (t)))
template_count += 1;
t = TYPE_MAIN_DECL (t);
if (DECL_LANG_SPECIFIC (t))
diff --git a/gcc/cp/dump.c b/gcc/cp/dump.c
index c8152d5..9ba3114 100644
--- a/gcc/cp/dump.c
+++ b/gcc/cp/dump.c
@@ -609,6 +609,7 @@ dequeue_and_dump (di)
break;
case TEMPLATE_DECL:
+ dump_child ("rslt", DECL_TEMPLATE_RESULT (t));
dump_child ("inst", DECL_TEMPLATE_INSTANTIATIONS (t));
dump_child ("spcs", DECL_TEMPLATE_SPECIALIZATIONS (t));
break;
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index a0be98f..3663ef3 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -519,7 +519,7 @@ dump_aggr_type (t, flags)
typdef = !DECL_ARTIFICIAL (name);
tmplate = !typdef && TREE_CODE (t) != ENUMERAL_TYPE
&& TYPE_LANG_SPECIFIC (t) && CLASSTYPE_TEMPLATE_INFO (t)
- && (CLASSTYPE_TEMPLATE_SPECIALIZATION (t)
+ && (CLASSTYPE_PARTIAL_SPECIALIZATION (t)
|| TREE_CODE (CLASSTYPE_TI_TEMPLATE (t)) != TEMPLATE_DECL
|| DECL_TEMPLATE_SPECIALIZATION (CLASSTYPE_TI_TEMPLATE (t))
|| PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (t)));
diff --git a/gcc/cp/friend.c b/gcc/cp/friend.c
index fee00a8..b225ac7 100644
--- a/gcc/cp/friend.c
+++ b/gcc/cp/friend.c
@@ -205,7 +205,7 @@ make_friend_class (type, friend_type)
}
if (CLASS_TYPE_P (friend_type)
- && CLASSTYPE_TEMPLATE_SPECIALIZATION (friend_type)
+ && CLASSTYPE_PARTIAL_SPECIALIZATION (friend_type)
&& uses_template_parms (friend_type))
{
/* [temp.friend]
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 0978ec9..c59e8b7 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -190,7 +190,7 @@ finish_member_template_decl (decl)
/* Assume that the class is the only declspec. */
decl = TREE_VALUE (decl);
if (IS_AGGR_TYPE (decl) && CLASSTYPE_TEMPLATE_INFO (decl)
- && ! CLASSTYPE_TEMPLATE_SPECIALIZATION (decl))
+ && ! CLASSTYPE_PARTIAL_SPECIALIZATION (decl))
{
tree tmpl = CLASSTYPE_TI_TEMPLATE (decl);
check_member_template (tmpl);
@@ -252,7 +252,7 @@ template_class_depth_real (type, count_specializations)
if (CLASSTYPE_TEMPLATE_INFO (type)
&& PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (type))
&& ((count_specializations
- && CLASSTYPE_TEMPLATE_SPECIALIZATION (type))
+ && CLASSTYPE_PARTIAL_SPECIALIZATION (type))
|| uses_template_parms (CLASSTYPE_TI_ARGS (type))))
++depth;
}
@@ -666,7 +666,7 @@ maybe_process_partial_specialization (type)
cp_pedwarn_at (" from definition of `%#D'",
CLASSTYPE_TI_TEMPLATE (type));
}
- SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (type);
+ SET_CLASSTYPE_PARTIAL_SPECIALIZATION (type);
if (processing_template_decl)
push_template_decl (TYPE_MAIN_DECL (type));
}
@@ -2359,7 +2359,7 @@ push_template_decl_real (decl, is_friend)
/* See if this is a partial specialization. */
is_partial = (DECL_IMPLICIT_TYPEDEF_P (decl)
&& TREE_CODE (TREE_TYPE (decl)) != ENUMERAL_TYPE
- && CLASSTYPE_TEMPLATE_SPECIALIZATION (TREE_TYPE (decl)));
+ && CLASSTYPE_PARTIAL_SPECIALIZATION (TREE_TYPE (decl)));
is_friend |= (TREE_CODE (decl) == FUNCTION_DECL && DECL_FRIEND_P (decl));
@@ -3548,7 +3548,7 @@ classtype_mangled_name (t)
if (CLASSTYPE_TEMPLATE_INFO (t)
/* Specializations have already had their names set up in
lookup_template_class. */
- && !CLASSTYPE_TEMPLATE_SPECIALIZATION (t))
+ && !CLASSTYPE_PARTIAL_SPECIALIZATION (t))
{
tree tmpl = most_general_template (CLASSTYPE_TI_TEMPLATE (t));
@@ -3963,7 +3963,7 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope)
/* We only want partial instantiations, here, not
specializations or full instantiations. */
- if (CLASSTYPE_TEMPLATE_SPECIALIZATION (TREE_VALUE (found))
+ if (CLASSTYPE_PARTIAL_SPECIALIZATION (TREE_VALUE (found))
|| !uses_template_parms (TREE_VALUE (found)))
continue;
@@ -9194,7 +9194,7 @@ do_type_instantiation (t, storage)
}
}
- if (CLASSTYPE_TEMPLATE_SPECIALIZATION (t))
+ if (CLASSTYPE_PARTIAL_SPECIALIZATION (t))
{
/* [temp.spec]