aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2017-10-27 17:32:58 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2017-10-27 17:32:58 +0000
commitba05366bad9d07eb62822e78c5eb762831a7d16f (patch)
tree72d87f6ed8dd9f2fcaf1f8220c627e98a7e6dfd3 /gcc/cp
parent6c6bde30706c29ffe41415f95ef3f48b6712cbe7 (diff)
downloadgcc-ba05366bad9d07eb62822e78c5eb762831a7d16f.zip
gcc-ba05366bad9d07eb62822e78c5eb762831a7d16f.tar.gz
gcc-ba05366bad9d07eb62822e78c5eb762831a7d16f.tar.bz2
pt.c (invalid_nontype_parm_type_p): Return a bool instead of an int.
2017-10-27 Paolo Carlini <paolo.carlini@oracle.com> * pt.c (invalid_nontype_parm_type_p): Return a bool instead of an int. From-SVN: r254158
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/pt.c26
2 files changed, 17 insertions, 13 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 29139c5..a4259f1 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2017-10-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * pt.c (invalid_nontype_parm_type_p): Return a bool instead of an int.
+
2017-10-26 Nathan Sidwell <nathan@acm.org>
* decl.c (sort_labels): Restore function.
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index be39da7..9457aea 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -203,7 +203,7 @@ static void tsubst_default_arguments (tree, tsubst_flags_t);
static tree for_each_template_parm_r (tree *, int *, void *);
static tree copy_default_args_to_explicit_spec_1 (tree, tree);
static void copy_default_args_to_explicit_spec (tree);
-static int invalid_nontype_parm_type_p (tree, tsubst_flags_t);
+static bool invalid_nontype_parm_type_p (tree, tsubst_flags_t);
static bool dependent_template_arg_p (tree);
static bool any_template_arguments_need_structural_equality_p (tree);
static bool dependent_type_p_r (tree);
@@ -23618,31 +23618,31 @@ instantiating_current_function_p (void)
}
/* [temp.param] Check that template non-type parm TYPE is of an allowable
- type. Return zero for ok, nonzero for disallowed. Issue error and
- warning messages under control of COMPLAIN. */
+ type. Return false for ok, true for disallowed. Issue error and
+ inform messages under control of COMPLAIN. */
-static int
+static bool
invalid_nontype_parm_type_p (tree type, tsubst_flags_t complain)
{
if (INTEGRAL_OR_ENUMERATION_TYPE_P (type))
- return 0;
+ return false;
else if (POINTER_TYPE_P (type))
- return 0;
+ return false;
else if (TYPE_PTRMEM_P (type))
- return 0;
+ return false;
else if (TREE_CODE (type) == TEMPLATE_TYPE_PARM)
- return 0;
+ return false;
else if (TREE_CODE (type) == TYPENAME_TYPE)
- return 0;
+ return false;
else if (TREE_CODE (type) == DECLTYPE_TYPE)
- return 0;
+ return false;
else if (TREE_CODE (type) == NULLPTR_TYPE)
- return 0;
+ return false;
/* A bound template template parm could later be instantiated to have a valid
nontype parm type via an alias template. */
else if (cxx_dialect >= cxx11
&& TREE_CODE (type) == BOUND_TEMPLATE_TEMPLATE_PARM)
- return 0;
+ return false;
if (complain & tf_error)
{
@@ -23652,7 +23652,7 @@ invalid_nontype_parm_type_p (tree type, tsubst_flags_t complain)
error ("%q#T is not a valid type for a template non-type parameter",
type);
}
- return 1;
+ return true;
}
/* Returns TRUE if TYPE is dependent, in the sense of [temp.dep.type].