From: Paolo Carlini Date: Tue, 2 Apr 2013 14:04:53 +0000 (+0000) Subject: friend.c (do_friend): Use COMPLETE_OR_OPEN_TYPE_P. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ae34ce041ae8f21a8dddf1f7eeac26edc745768b;p=gcc.git friend.c (do_friend): Use COMPLETE_OR_OPEN_TYPE_P. 2013-04-02 Paolo Carlini * friend.c (do_friend): Use COMPLETE_OR_OPEN_TYPE_P. * pt.c (find_parameter_packs_r): Use TYPE_ALIAS_P and TYPE_TI_ARGS. (for_each_template_parm_r): Use TYPE_TI_ARGS. From-SVN: r197356 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7c9ba7422f4..7b73e032931 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2013-04-02 Paolo Carlini + + * friend.c (do_friend): Use COMPLETE_OR_OPEN_TYPE_P. + * pt.c (find_parameter_packs_r): Use TYPE_ALIAS_P and TYPE_TI_ARGS. + (for_each_template_parm_r): Use TYPE_TI_ARGS. + 2013-04-02 Paolo Carlini * cp-tree.h (TAGGED_TYPE_P): Remove. diff --git a/gcc/cp/friend.c b/gcc/cp/friend.c index 083372849b9..3c63ea6dbb9 100644 --- a/gcc/cp/friend.c +++ b/gcc/cp/friend.c @@ -485,8 +485,7 @@ do_friend (tree ctype, tree declarator, tree decl, to be a friend, so we do lookup here even if CTYPE is in the process of being defined. */ if (class_template_depth - || COMPLETE_TYPE_P (ctype) - || (CLASS_TYPE_P (ctype) && TYPE_BEING_DEFINED (ctype))) + || COMPLETE_OR_OPEN_TYPE_P (ctype)) { if (DECL_TEMPLATE_INFO (decl)) /* DECL is a template specialization. No need to diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 8671bd95d4a..1d429fe0f1b 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -3058,10 +3058,7 @@ find_parameter_packs_r (tree *tp, int *walk_subtrees, void* data) bool parameter_pack_p = false; /* Handle type aliases/typedefs. */ - if (TYPE_P (t) - && TYPE_NAME (t) - && TREE_CODE (TYPE_NAME (t)) == TYPE_DECL - && TYPE_DECL_ALIAS_P (TYPE_NAME (t))) + if (TYPE_ALIAS_P (t)) { if (TYPE_TEMPLATE_INFO (t)) cp_walk_tree (&TYPE_TI_ARGS (t), @@ -3146,7 +3143,7 @@ find_parameter_packs_r (tree *tp, int *walk_subtrees, void* data) case UNION_TYPE: case ENUMERAL_TYPE: if (TYPE_TEMPLATE_INFO (t)) - cp_walk_tree (&TI_ARGS (TYPE_TEMPLATE_INFO (t)), + cp_walk_tree (&TYPE_TI_ARGS (t), &find_parameter_packs_r, ppd, ppd->visited); *walk_subtrees = 0; @@ -7619,7 +7616,7 @@ for_each_template_parm_r (tree *tp, int *walk_subtrees, void *d) case ENUMERAL_TYPE: if (!TYPE_TEMPLATE_INFO (t)) *walk_subtrees = 0; - else if (for_each_template_parm (TI_ARGS (TYPE_TEMPLATE_INFO (t)), + else if (for_each_template_parm (TYPE_TI_ARGS (t), fn, data, pfd->visited, pfd->include_nondeduced_p)) return error_mark_node;