On 5/27/22 14:07, Patrick Palka wrote:
In passing, use bool for its return type.
OK.
gcc/cp/ChangeLog:
* cp-tree.h (comp_template_args): Change return type to bool.
* pt.cc (comp_template_args): Document default arguments.
Change return type to bool and adjust returns accordingly.
---
gcc/cp/cp-tree.h | 2 +-
gcc/cp/pt.cc | 24 +++++++++++-------------
2 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index d77fd1eb8a9..da8898155e0 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -7327,7 +7327,7 @@ extern tree get_template_info
(const_tree);
extern int template_class_depth (tree);
extern int is_specialization_of (tree, tree);
extern bool is_specialization_of_friend (tree, tree);
-extern int comp_template_args (tree, tree, tree * = NULL,
+extern bool comp_template_args (tree, tree, tree * = NULL,
tree * = NULL, bool = false);
extern int template_args_equal (tree, tree, bool = false);
extern tree maybe_process_partial_specialization (tree);
diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc
index ec168234325..b5064990857 100644
--- a/gcc/cp/pt.cc
+++ b/gcc/cp/pt.cc
@@ -9368,27 +9368,25 @@ template_args_equal (tree ot, tree nt, bool
partial_order /* = false */)
}
}
-/* Returns 1 iff the OLDARGS and NEWARGS are in fact identical sets of
- template arguments. Returns 0 otherwise, and updates OLDARG_PTR and
+/* Returns true iff the OLDARGS and NEWARGS are in fact identical sets of
+ template arguments. Returns false otherwise, and updates OLDARG_PTR and
NEWARG_PTR with the offending arguments if they are non-NULL. */
-int
+bool
comp_template_args (tree oldargs, tree newargs,
- tree *oldarg_ptr, tree *newarg_ptr,
- bool partial_order)
+ tree *oldarg_ptr /* = NULL */, tree *newarg_ptr /* = NULL
*/,
+ bool partial_order /* = false */)
{
- int i;
-
if (oldargs == newargs)
- return 1;
+ return true;
if (!oldargs || !newargs)
- return 0;
+ return false;
if (TREE_VEC_LENGTH (oldargs) != TREE_VEC_LENGTH (newargs))
- return 0;
+ return false;
- for (i = 0; i < TREE_VEC_LENGTH (oldargs); ++i)
+ for (int i = 0; i < TREE_VEC_LENGTH (oldargs); ++i)
{
tree nt = TREE_VEC_ELT (newargs, i);
tree ot = TREE_VEC_ELT (oldargs, i);
@@ -9399,10 +9397,10 @@ comp_template_args (tree oldargs, tree newargs,
*oldarg_ptr = ot;
if (newarg_ptr != NULL)
*newarg_ptr = nt;
- return 0;
+ return false;
}
}
- return 1;
+ return true;
}
inline bool