Lines Matching defs:node

377    canonicalized tree node representing NODE that is used when adding
381 canonicalize_for_substitution (tree node)
384 if (TREE_CODE (node) == TYPE_DECL)
385 node = TREE_TYPE (node);
386 if (TYPE_P (node))
387 node = canonical_type_variant (node);
389 return node;
396 add_substitution (tree node)
402 tree_code_name[TREE_CODE (node)], (void *) node);
405 c = canonicalize_for_substitution (node);
406 if (DEBUG_MANGLE && c != node)
408 tree_code_name[TREE_CODE (node)], (void *) node);
409 node = c;
419 gcc_assert (!(DECL_P (node) && node == candidate));
420 gcc_assert (!(TYPE_P (node) && TYPE_P (candidate)
421 && same_type_p (node, candidate)));
427 VEC_safe_push (tree, gc, G.substitutions, node);
438 is_std_substitution (const tree node,
444 if (DECL_P (node))
446 type = TREE_TYPE (node);
447 decl = node;
449 else if (CLASS_TYPE_P (node))
451 type = node;
452 decl = TYPE_NAME (node);
471 is_std_substitution_char (const tree node,
476 if (!is_std_substitution (node, index))
479 if (DECL_P (node))
480 args = DECL_TI_ARGS (node);
481 else if (CLASS_TYPE_P (node))
482 args = CLASSTYPE_TI_ARGS (node);
527 find_substitution (tree node)
536 tree_code_name[TREE_CODE (node)], (void *) node);
540 node = canonicalize_for_substitution (node);
544 decl = TYPE_P (node) ? TYPE_NAME (node) : node;
545 type = TYPE_P (node) ? node : TREE_TYPE (node);
559 if (TYPE_P (node))
591 if (TYPE_P (node)
639 /* NODE is a matched to a candidate if it's the same decl node or
644 || NESTED_TEMPLATE_MATCH (node, candidate))
952 write_prefix (const tree node)
958 MANGLE_TRACE_TREE ("prefix", node);
960 if (node == NULL
961 || node == global_namespace)
964 if (find_substitution (node))
967 if (DECL_P (node))
974 if (TREE_CODE (node) == FUNCTION_DECL)
977 decl = node;
983 decl = TYPE_NAME (node);
984 if (CLASSTYPE_TEMPLATE_ID_P (node))
985 template_info = TYPE_TEMPLATE_INFO (node);
989 if (TREE_CODE (node) == TEMPLATE_TYPE_PARM
993 if (TREE_CODE (node) == TEMPLATE_TYPE_PARM
995 write_template_param (node);
1009 add_substitution (node);
1017 write_template_prefix (const tree node)
1019 tree decl = DECL_P (node) ? node : TYPE_NAME (node);
1020 tree type = DECL_P (node) ? TREE_TYPE (node) : node;
1026 MANGLE_TRACE_TREE ("template-prefix", node);
1544 TYPE is a type node. */
2298 write_template_arg (tree node)
2300 enum tree_code code = TREE_CODE (node);
2302 MANGLE_TRACE_TREE ("template-arg", node);
2308 node = TREE_VALUE (node);
2310 if (DECL_P (node))
2312 node = TREE_TYPE (node);
2313 code = TREE_CODE (node);
2317 if (TREE_CODE (node) == NOP_EXPR
2318 && TREE_CODE (TREE_TYPE (node)) == REFERENCE_TYPE)
2323 gcc_assert (TREE_CODE (TREE_OPERAND (node, 0)) == ADDR_EXPR);
2325 node = TREE_OPERAND (TREE_OPERAND (node, 0), 0);
2330 if (TYPE_P (node))
2331 write_type (node);
2334 write_template_template_arg (node);
2337 write_template_arg_literal (node);
2338 else if (DECL_P (node))
2354 write_encoding (node);
2361 write_expression (node);
2820 /* Hash a node (VAL1) in the table. */
2828 /* Compare VAL1 (a node in the table) with VAL2 (a TYPE). */