mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-22 21:31:19 +08:00
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.
This commit is contained in:
parent
65937db83c
commit
54f58e9416
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user