Lines Matching defs:tmpl
126 tree tmpl = TREE_OPERAND (id, 0);
127 if (OVL_P (tmpl) && TREE_CODE (expr) == TEMPLATE_ID_EXPR)
227 tree tmpl = TREE_OPERAND (id, 0);
228 if (OVL_P (tmpl))
229 tmpl = OVL_FIRST (tmpl);
230 return tmpl;
280 tree tmpl = *iter;
281 if (TREE_CODE (tmpl) != TEMPLATE_DECL)
291 tree fn = DECL_TEMPLATE_RESULT (tmpl);
299 tree parms = TREE_VALUE (DECL_TEMPLATE_PARMS (tmpl));
300 if (tree subst = coerce_template_parms (parms, args, tmpl))
366 tree tmpl = TREE_OPERAND (id, 0);
371 if (TREE_CODE (tmpl) == OVERLOAD)
373 if (OVL_CHAIN (tmpl))
375 tmpl = OVL_FIRST (tmpl);
379 tree parms = INNERMOST_TEMPLATE_PARMS (DECL_TEMPLATE_PARMS (tmpl));
381 tree result = coerce_template_parms (parms, args, tmpl);
385 return build_tree_list (result, DECL_TEMPLATE_RESULT (tmpl));
675 tree tmpl = TREE_OPERAND (id, 0);
679 if (TREE_CODE (tmpl) == OVERLOAD)
685 tmpl = OVL_FIRST (tmpl);
695 tree parms = TREE_VALUE (DECL_TEMPLATE_PARMS (tmpl));
699 tree subst = coerce_template_parms (parms, targs, tmpl);
705 tree def = get_concept_definition (DECL_TEMPLATE_RESULT (tmpl));
795 tree tmpl;
804 tmpl = d;
805 decl = DECL_TEMPLATE_RESULT (tmpl);
810 tmpl = TI_TEMPLATE (ti);
812 tmpl = NULL_TREE;
833 if (tmpl)
835 if (DECL_LANG_SPECIFIC(tmpl) && !DECL_TEMPLATE_SPECIALIZATION (tmpl))
836 tmpl = most_general_template (tmpl);
841 if (tree *p = hash_map_safe_get (normalized_map, tmpl))
846 tree args = generic_targs_for (tmpl);
848 tree norm = get_normalized_constraints_from_info (ci, args, tmpl, diag);
851 hash_map_safe_put<hm_ggc> (normalized_map, tmpl, norm);
859 normalize_concept_definition (tree tmpl, bool diag = false)
862 if (tree *p = hash_map_safe_get (normalized_map, tmpl))
865 gcc_assert (concept_definition_p (tmpl));
866 if (OVL_P (tmpl))
867 tmpl = OVL_FIRST (tmpl);
868 gcc_assert (TREE_CODE (tmpl) == TEMPLATE_DECL);
869 tree args = generic_targs_for (tmpl);
870 tree def = get_concept_definition (DECL_TEMPLATE_RESULT (tmpl));
872 norm_info info (tmpl, diag ? tf_norm : tf_none);
877 hash_map_safe_put<hm_ggc> (normalized_map, tmpl, norm);
885 normalize_template_requirements (tree tmpl, bool diag = false)
887 return get_normalized_constraints_from_decl (tmpl, diag);
1097 tree tmpl = CLASSTYPE_TI_TEMPLATE (type);
1098 location_t loc = DECL_SOURCE_LOCATION (tmpl);
1225 tree tmpl = decl == result ? DECL_TI_TEMPLATE (result) : decl;
1226 tree gargs = generic_targs_for (tmpl);
1289 build_function_check (tree tmpl, tree args, tsubst_flags_t /*complain*/)
1291 if (TREE_CODE (tmpl) == TEMPLATE_DECL)
1295 tmpl = ovl_make (tmpl);
1296 TREE_TYPE (tmpl) = boolean_type_node;
1305 tree info = resolve_function_concept_overload (tmpl, args);
1310 error ("no matching concepts for %qE", tmpl);
1314 tmpl = DECL_TI_TEMPLATE (TREE_VALUE (info));
1317 tmpl = ovl_make (tmpl, NULL_TREE);
1318 TREE_TYPE (tmpl) = boolean_type_node;
1321 tree id = build2 (TEMPLATE_ID_EXPR, boolean_type_node, tmpl, args);
1338 build_variable_check (tree tmpl, tree args, tsubst_flags_t complain)
1340 gcc_assert (variable_concept_p (tmpl));
1341 gcc_assert (TREE_CODE (tmpl) == TEMPLATE_DECL);
1342 tree parms = INNERMOST_TEMPLATE_PARMS (DECL_TEMPLATE_PARMS (tmpl));
1343 args = coerce_template_parms (parms, args, tmpl, complain);
1346 return build2 (TEMPLATE_ID_EXPR, boolean_type_node, tmpl, args);
1353 build_standard_check (tree tmpl, tree args, tsubst_flags_t complain)
1355 gcc_assert (standard_concept_p (tmpl));
1356 gcc_assert (TREE_CODE (tmpl) == TEMPLATE_DECL);
1357 tree parms = INNERMOST_TEMPLATE_PARMS (DECL_TEMPLATE_PARMS (tmpl));
1358 args = coerce_template_parms (parms, args, tmpl, complain);
1361 return build2 (TEMPLATE_ID_EXPR, boolean_type_node, tmpl, args);
1495 tree tmpl = DECL_TI_TEMPLATE (con);
1496 tree check = tmpl;
1498 check = ovl_make (tmpl);
1692 tree tmpl = TREE_OPERAND (check, 0);
1693 if (OVL_P (tmpl))
1694 tmpl = OVL_FIRST (tmpl);
1696 tree parms = DECL_INNERMOST_TEMPLATE_PARMS (tmpl);
1700 "be introduced", tmpl);
1789 placeholder_extract_concept_and_args (tree t, tree &tmpl, tree &args)
1794 tmpl = TREE_OPERAND (t, 0);
1795 if (TREE_CODE (tmpl) == OVERLOAD)
1796 tmpl = OVL_FIRST (tmpl);
1808 placeholder_extract_concept_and_args (check, tmpl, args);
2727 tree tmpl = get_concept_check_template (id);
2728 norm = normalize_concept_definition (tmpl, info.noisy ());
2775 tree tmpl = TI_TEMPLATE (ti);
2776 norm = normalize_template_requirements (tmpl, info.noisy ());
3092 strictly_subsumes (tree ci, tree args, tree tmpl)
3095 tree n2 = get_normalized_constraints_from_decl (tmpl);
3104 weakly_subsumes (tree ci, tree args, tree tmpl)
3107 tree n2 = get_normalized_constraints_from_decl (tmpl);
3174 tree tmpl = TREE_OPERAND (id, 0);
3175 if (OVL_P (tmpl))
3176 tmpl = OVL_FIRST (tmpl);
3177 return DECL_SOURCE_LOCATION (tmpl);