diff options
Diffstat (limited to 'gcc/cp/pt.c')
-rw-r--r-- | gcc/cp/pt.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index d118105..cfce9a9 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -6831,7 +6831,7 @@ convert_nontype_argument (tree type, tree expr, tsubst_flags_t complain) "a variable", orig_expr, expr); return NULL_TREE; } - if (POINTER_TYPE_P (expr_type)) + if (INDIRECT_TYPE_P (expr_type)) { if (complain & tf_error) error ("%qE is not a valid template argument for %qT " @@ -19548,7 +19548,7 @@ fn_type_unification (tree fn, { /* We're deducing for a call to the result of a template conversion function. The parms we really want are in return_type. */ - if (POINTER_TYPE_P (return_type)) + if (INDIRECT_TYPE_P (return_type)) return_type = TREE_TYPE (return_type); parms = TYPE_ARG_TYPES (return_type); } @@ -19928,7 +19928,7 @@ uses_deducible_template_parms (tree type) /* T* T& T&& */ - if (POINTER_TYPE_P (type)) + if (INDIRECT_TYPE_P (type)) return uses_deducible_template_parms (TREE_TYPE (type)); /* T[integer-constant ] @@ -20945,7 +20945,7 @@ check_cv_quals_for_unify (int strict, tree arg, tree parm) && (parm_quals & (TYPE_QUAL_CONST | TYPE_QUAL_VOLATILE))) return 0; - if ((!POINTER_TYPE_P (arg) && TREE_CODE (arg) != TEMPLATE_TYPE_PARM) + if ((!INDIRECT_TYPE_P (arg) && TREE_CODE (arg) != TEMPLATE_TYPE_PARM) && (parm_quals & TYPE_QUAL_RESTRICT)) return 0; } @@ -24471,8 +24471,7 @@ dependent_type_p_r (tree type) return (dependent_type_p (TYPE_PTRMEM_CLASS_TYPE (type)) || dependent_type_p (TYPE_PTRMEM_POINTED_TO_TYPE (type))); - else if (TYPE_PTR_P (type) - || TYPE_REF_P (type)) + else if (INDIRECT_TYPE_P (type)) return dependent_type_p (TREE_TYPE (type)); else if (TREE_CODE (type) == FUNCTION_TYPE || TREE_CODE (type) == METHOD_TYPE) |