diff options
author | Patrick Palka <ppalka@redhat.com> | 2020-03-24 23:58:23 -0400 |
---|---|---|
committer | Patrick Palka <ppalka@redhat.com> | 2020-03-26 20:44:49 -0400 |
commit | 54f58e9416debf139bd88d8055cdfbacf7e20204 (patch) | |
tree | 038f777db0da6ea346693c46ddfb3cca7a083212 /gcc | |
parent | 65937db83cd62daef230ece2d92f23f01fb90927 (diff) | |
download | gcc-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/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/cp/decl.c | 3 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 3 | ||||
-rw-r--r-- | gcc/cp/pt.c | 6 |
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 |