aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2020-03-24 23:58:23 -0400
committerPatrick Palka <ppalka@redhat.com>2020-03-26 20:44:49 -0400
commit54f58e9416debf139bd88d8055cdfbacf7e20204 (patch)
tree038f777db0da6ea346693c46ddfb3cca7a083212 /gcc
parent65937db83cd62daef230ece2d92f23f01fb90927 (diff)
downloadgcc-54f58e9416debf139bd88d8055cdfbacf7e20204.zip
gcc-54f58e9416debf139bd88d8055cdfbacf7e20204.tar.gz
gcc-54f58e9416debf139bd88d8055cdfbacf7e20204.tar.bz2
c++: Remove redundant calls to type_dependent_expression_p
This simplifies conditions that test both value_dependent_expression_p and type_dependent_expression_p, since the former predicate now subsumes the latter. gcc/cp/ChangeLog: * decl.c (compute_array_index_type_loc): Remove redundant type_dependent_expression_p check that is subsumed by value_dependent_expression_p. * decl2.c (is_late_template_attribute): Likewise. * pt.c (uses_template_parms): Likewise. (dependent_template_arg_p): Likewise.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog9
-rw-r--r--gcc/cp/decl.c3
-rw-r--r--gcc/cp/decl2.c3
-rw-r--r--gcc/cp/pt.c6
4 files changed, 13 insertions, 8 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 7d1161f..da556a4 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,12 @@
+2020-03-27 Patrick Palka <ppalka@redhat.com>
+
+ * decl.c (compute_array_index_type_loc): Remove redundant
+ type_dependent_expression_p check that is subsumed by
+ value_dependent_expression_p.
+ * decl2.c (is_late_template_attribute): Likewise.
+ * pt.c (uses_template_parms): Likewise.
+ (dependent_template_arg_p): Likewise.
+
2020-03-26 Marek Polacek <polacek@redhat.com>
DR 1710
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 319b7ee..69a2389 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -10338,8 +10338,7 @@ compute_array_index_type_loc (location_t name_loc, tree name, tree size,
/* We can only call value_dependent_expression_p on integral constant
expressions; treat non-constant expressions as dependent, too. */
if (processing_template_decl
- && (type_dependent_expression_p (size)
- || !TREE_CONSTANT (size) || value_dependent_expression_p (size)))
+ && (!TREE_CONSTANT (size) || value_dependent_expression_p (size)))
{
/* We cannot do any checking for a SIZE that isn't known to be
constant. Just build the index type and mark that it requires
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 2efb2e5..6cf72b4 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -1191,8 +1191,7 @@ is_late_template_attribute (tree attr, tree decl)
&& identifier_p (t))
continue;
- if (value_dependent_expression_p (t)
- || type_dependent_expression_p (t))
+ if (value_dependent_expression_p (t))
return true;
}
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 3c96eec..7ea8ce4 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -10525,8 +10525,7 @@ uses_template_parms (tree t)
else if (t == error_mark_node)
dependent_p = false;
else
- dependent_p = (type_dependent_expression_p (t)
- || value_dependent_expression_p (t));
+ dependent_p = value_dependent_expression_p (t);
processing_template_decl = saved_processing_template_decl;
@@ -27016,8 +27015,7 @@ dependent_template_arg_p (tree arg)
else if (TYPE_P (arg))
return dependent_type_p (arg);
else
- return (type_dependent_expression_p (arg)
- || value_dependent_expression_p (arg));
+ return value_dependent_expression_p (arg);
}
/* Returns true if ARGS (a collection of template arguments) contains