* [C++ Patch, obvious] Change invalid_nontype_parm_type_p to return a bool
@ 2017-10-27 10:01 Paolo Carlini
0 siblings, 0 replies; only message in thread
From: Paolo Carlini @ 2017-10-27 10:01 UTC (permalink / raw)
To: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 221 bytes --]
Hi,
today I noticed once more that the function pointlessly still returns an
int instead of a bool. Unless somebody complaints, I'm going to apply
the below. Tested x86_64-linux.
Thanks, Paolo.
////////////////////
[-- Attachment #2: CL_b --]
[-- Type: text/plain, Size: 127 bytes --]
2017-10-27 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (invalid_nontype_parm_type_p): Return a bool instead of an int.
[-- Attachment #3: patch_b --]
[-- Type: text/plain, Size: 2270 bytes --]
Index: pt.c
===================================================================
--- pt.c (revision 254136)
+++ pt.c (working copy)
@@ -203,7 +203,7 @@ static void tsubst_default_arguments (tree, tsubst
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_fla
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].
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2017-10-27 9:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-27 10:01 [C++ Patch, obvious] Change invalid_nontype_parm_type_p to return a bool Paolo Carlini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).