Lines Matching refs:t

222 	const char *t = NULL;  in demangle()  local
230 t = parse_type(first, last, db); in demangle()
231 if (t == first) { in demangle()
244 t = parse_encoding(first + 2, last, db); in demangle()
246 if (t != first + 2 && t != last && t[0] == '.') { in demangle()
247 t = parse_dot_suffix(t, last, db); in demangle()
258 t = parse_encoding(first + 4, last, db); in demangle()
259 if (t != first + 4 && t != last) in demangle()
260 t = parse_block_invoke(t, last, db); in demangle()
263 if (t != last) in demangle()
298 const char *t = first; in parse_block_invoke() local
303 t += sizeof (test); in parse_block_invoke()
304 if (t == last) in parse_block_invoke()
307 if (t[0] == '_') { in parse_block_invoke()
309 if (t + 1 == last || ISDIGIT(t[1])) in parse_block_invoke()
311 t += 2; in parse_block_invoke()
314 while (t < last && ISDIGIT(t[0])) in parse_block_invoke()
315 t++; in parse_block_invoke()
322 return (t); in parse_block_invoke()
338 const char *t = NULL; in parse_encoding() local
348 t = parse_special_name(first, last, db); in parse_encoding()
353 t = parse_name(first, last, &ends_with_template_args, db); in parse_encoding()
354 if (t == first) in parse_encoding()
360 if (t == last || t[0] == 'E' || t[0] == '.') in parse_encoding()
368 t2 = parse_type(t, last, db); in parse_encoding()
369 if (t2 == t || nlen(db) < 2) in parse_encoding()
378 t = t2; in parse_encoding()
381 if (t == last || nempty(db)) in parse_encoding()
386 if (t[0] == 'v') { in parse_encoding()
387 t++; in parse_encoding()
390 t2 = parse_type(t, last, db); in parse_encoding()
391 if (t2 == t || t == last) in parse_encoding()
394 t = t2; in parse_encoding()
432 return (t); in parse_encoding()
464 const char *t = first; in parse_special_name() local
471 switch (t[0]) { in parse_special_name()
473 switch (t[1]) { in parse_special_name()
476 t = parse_type(first + 2, last, db); in parse_special_name()
480 t = parse_type(first + 2, last, db); in parse_special_name()
484 t = parse_type(first + 2, last, db); in parse_special_name()
488 t = parse_type(first + 2, last, db); in parse_special_name()
493 if (t1 == t) in parse_special_name()
495 t = parse_call_offset(t1, last); in parse_special_name()
496 if (t == t1) in parse_special_name()
498 t1 = parse_encoding(t, last, db); in parse_special_name()
499 if (t1 == t) in parse_special_name()
503 t = parse_type(first + 2, last, db); in parse_special_name()
504 if (t == first + 2) in parse_special_name()
506 t1 = parse_number(t, last); in parse_special_name()
509 t = parse_type(t1 + 1, last, db); in parse_special_name()
510 if (t == t1 + 1 || nlen(db) < 2) in parse_special_name()
513 return (t); in parse_special_name()
516 t = parse_name(first + 2, last, NULL, db); in parse_special_name()
521 t = parse_name(first + 2, last, NULL, db); in parse_special_name()
530 t = parse_call_offset(first + 1, last); in parse_special_name()
531 if (t == first + 1) in parse_special_name()
533 t1 = parse_encoding(t, last, db); in parse_special_name()
534 if (t == t1) in parse_special_name()
536 t = t1; in parse_special_name()
544 t = parse_name(first + 2, last, NULL, db); in parse_special_name()
548 t = parse_name(first + 2, last, NULL, db); in parse_special_name()
559 if (t == first + 2 || amt < 2) in parse_special_name()
563 return (t); in parse_special_name()
581 const char *t = NULL; in parse_call_offset() local
590 t = parse_number(first + 1, last); in parse_call_offset()
591 if (t == first + 1 || t == last || t[0] != '_') in parse_call_offset()
595 t++; in parse_call_offset()
598 return (t); in parse_call_offset()
600 t1 = parse_number(t, last); in parse_call_offset()
601 if (t == t1 || t1 == last || t1[0] != '_') in parse_call_offset()
625 const char *t = first; in parse_name() local
632 if (t[0] == 'L') in parse_name()
633 t++; in parse_name()
635 switch (t[0]) { in parse_name()
637 t1 = parse_nested_name(t, last, ends_with_template_args, db); in parse_name()
638 return ((t == t1) ? first : t1); in parse_name()
640 t1 = parse_local_name(t, last, ends_with_template_args, db); in parse_name()
641 return ((t == t1) ? first : t1); in parse_name()
649 t1 = parse_unscoped_name(t, last, db); in parse_name()
652 if (t != t1 && t1[0] != 'I') in parse_name()
655 if (t == t1) { in parse_name()
656 t1 = parse_substitution(t, last, db); in parse_name()
657 if (t == t1 || t1 == last || t1[0] != 'I') in parse_name()
663 t = parse_template_args(t1, last, db); in parse_name()
664 if (t1 == t || nlen(db) < 2) in parse_name()
672 return (t); in parse_name()
688 const char *t = NULL; in parse_local_name() local
695 t = parse_encoding(first + 1, last, db); in parse_local_name()
696 if (t == first + 1 || t == last || t[0] != 'E') in parse_local_name()
702 t++; in parse_local_name()
704 if (t[0] == 's') { in parse_local_name()
706 return (parse_discriminator(t, last)); in parse_local_name()
709 if (t[0] == 'd') { in parse_local_name()
710 t1 = parse_number(t + 1, last); in parse_local_name()
715 t1 = t; in parse_local_name()
725 if (t[0] != 'd') in parse_local_name()
760 const char *t = parse_cv_qualifiers(first + 1, last, &cv); in parse_nested_name() local
762 if (t == last) in parse_nested_name()
767 switch (t[0]) { in parse_nested_name()
770 t++; in parse_nested_name()
774 t++; in parse_nested_name()
777 if (last - first < 2 || t[1] != 't') in parse_nested_name()
783 t += 2; in parse_nested_name()
790 while (t[0] != 'E' && t != last) { in parse_nested_name()
795 switch (t[0]) { in parse_nested_name()
797 if (t + 1 != last && t[1] == 't') in parse_nested_name()
800 t1 = parse_substitution(t, last, db); in parse_nested_name()
801 if (t1 == t || t1 == last || NAMT(db, n) != 1) in parse_nested_name()
814 t = t1; in parse_nested_name()
818 t1 = parse_template_param(t, last, db); in parse_nested_name()
819 if (t1 == t || t1 == last || NAMT(db, n) != 1) in parse_nested_name()
832 t = t1; in parse_nested_name()
836 if (t + 1 != last && t[1] != 't' && t[1] != 'T') in parse_nested_name()
838 t1 = parse_decltype(t, last, db); in parse_nested_name()
839 if (t1 == t || t1 == last || NAMT(db, n) != 1) in parse_nested_name()
852 t = t1; in parse_nested_name()
863 t1 = parse_template_args(t, last, db); in parse_nested_name()
864 if (t1 == t || t1 == last) in parse_nested_name()
870 t = t1; in parse_nested_name()
875 if (t + 1 == last) in parse_nested_name()
877 t++; in parse_nested_name()
884 t1 = parse_unqualified_name(t, last, db); in parse_nested_name()
885 if (t1 == t || t1 == last || NAMT(db, n) != 1) in parse_nested_name()
898 t = t1; in parse_nested_name()
912 if (t[0] != 'E') in parse_nested_name()
915 return (t + 1); in parse_nested_name()
930 const char *t = NULL; in parse_template_arg() local
938 t = parse_expression(first + 1, last, db); in parse_template_arg()
939 if (t == first + 1 || t[0] != 'E') in parse_template_arg()
943 t++; in parse_template_arg()
947 t = first + 1; in parse_template_arg()
948 if (t == last) in parse_template_arg()
951 while (t[0] != 'E') { in parse_template_arg()
952 t1 = parse_template_arg(t, last, db); in parse_template_arg()
953 if (t == t1) in parse_template_arg()
955 t = t1; in parse_template_arg()
959 t++; in parse_template_arg()
964 t = parse_expr_primary(first, last, db); in parse_template_arg()
966 t = parse_encoding(first + 2, last, db); in parse_template_arg()
967 if (t == first + 2 || t == last || t[0] != 'E') in parse_template_arg()
971 t++; in parse_template_arg()
976 t = parse_type(first, last, db); in parse_template_arg()
979 return (t); in parse_template_arg()
1212 const char *t = parse_expression(first + 2, last, db); in parse_prefix_expr() local
1213 if (t == first + 2) { in parse_prefix_expr()
1220 return (t); in parse_prefix_expr()
1228 const char *t = NULL; in parse_gs() local
1234 t = parse_new_expr(first + 2, last, db); in parse_gs()
1236 t = parse_del_expr(first + 2, last, db); in parse_gs()
1240 if (t == first + 2) in parse_gs()
1246 return (t); in parse_gs()
1335 const char *t = parse_expression(first + 2, last, db); in parse_del_expr() local
1336 if (t == first + 2 || NAMT(db, n) != 1) in parse_del_expr()
1340 return (t); in parse_del_expr()
1372 const char *t = NULL; in parse_ppmm_expr() local
1376 t = parse_binary_expr(first + 3, last, "--", db); in parse_ppmm_expr()
1377 if (t == first + 3) in parse_ppmm_expr()
1379 return (t); in parse_ppmm_expr()
1382 t = parse_expression(first + 2, last, db); in parse_ppmm_expr()
1383 if (t == first + 2 || NAMT(db, n) < 1) in parse_ppmm_expr()
1387 return (t); in parse_ppmm_expr()
1448 const char *t = parse_expression(first + 2, last, db); in parse_noexcept_expr() local
1449 if (t == first + 2 || NAMT(db, n) != 1) in parse_noexcept_expr()
1453 return (t); in parse_noexcept_expr()
1585 const char *t = first; in parse_type() local
1591 t = parse_builtin_type(first, last, db); in parse_type()
1592 if (t != first) in parse_type()
1593 return (t); in parse_type()
1597 t = parse_array_type(first, last, db); in parse_type()
1598 if (t == first || NAMT(db, n) == 0) in parse_type()
1601 return (t); in parse_type()
1604 t = parse_type(first + 1, last, db); in parse_type()
1605 if (t == first + 1 || NAMT(db, n) == 0) in parse_type()
1610 return (t); in parse_type()
1613 t = parse_function_type(first, last, db); in parse_type()
1614 if (t == first || NAMT(db, n) == 0) in parse_type()
1617 return (t); in parse_type()
1620 t = parse_type(first + 1, last, db); in parse_type()
1621 if (t == first + 1 || NAMT(db, n) == 0) in parse_type()
1626 return (t); in parse_type()
1629 t = parse_pointer_to_member_type(first, last, db); in parse_type()
1630 if (t == first || NAMT(db, n) == 0) in parse_type()
1633 return (t); in parse_type()
1636 t = parse_type(first + 1, last, db); in parse_type()
1638 if (t == first + 1 || amt == 0) in parse_type()
1649 return (t); in parse_type()
1652 t = parse_type(first + 1, last, db); in parse_type()
1654 if (t == first + 1 || amt == 0) in parse_type()
1674 return (t); in parse_type()
1677 t = parse_type(first + 1, last, db); in parse_type()
1679 if (t == first + 1 || amt == 0) in parse_type()
1693 return (t); in parse_type()
1696 t = parse_template_param(first, last, db); in parse_type()
1697 if (t == first) in parse_type()
1703 return (t); in parse_type()
1705 t1 = parse_template_args(t, last, db); in parse_type()
1706 if (t1 == t) in parse_type()
1707 return (t); in parse_type()
1717 t = parse_source_name(first + 1, last, db); in parse_type()
1718 if (t == first + 1) in parse_type()
1723 t1 = parse_type(t, last, db); in parse_type()
1724 if (t1 == t || NAMT(db, n) < 2) in parse_type()
1733 t = parse_source_name(name->str_s + 9, in parse_type()
1735 if (t != name->str_s + 9) { in parse_type()
1756 t = parse_name(first, last, NULL, db); in parse_type()
1757 if (t == first || NAMT(db, n) == 0) in parse_type()
1761 return (t); in parse_type()
1764 t = parse_substitution(first, last, db); in parse_type()
1765 if (t == first) in parse_type()
1772 t1 = parse_template_args(t, last, db); in parse_type()
1773 if (t1 == t) in parse_type()
1774 return (t); in parse_type()
1777 return (t); in parse_type()
1789 t = parse_type(first + 2, last, db); in parse_type()
1790 if (t == first + 2) in parse_type()
1794 return (t); in parse_type()
1798 t = parse_decltype(first, last, db); in parse_type()
1799 if (first == t) in parse_type()
1803 return (t); in parse_type()
1806 t = parse_vector_type(first, last, db); in parse_type()
1807 if (first == t) in parse_type()
1814 return (t); in parse_type()
1823 t = parse_builtin_type(first, last, db); in parse_type()
1824 if (t != first) in parse_type()
1825 return (t); in parse_type()
1827 t = parse_name(first, last, NULL, db); in parse_type()
1828 if (t == first || NAMT(db, n) == 0) in parse_type()
1832 return (t); in parse_type()
1840 const char *t = NULL; in parse_qual_type() local
1844 t = parse_cv_qualifiers(first, last, &cv); in parse_qual_type()
1845 if (t == first) in parse_qual_type()
1849 boolean_t is_func = !!(t[0] == 'F'); in parse_qual_type()
1851 t1 = parse_type(t, last, db); in parse_qual_type()
1853 if (t == t1 || amt == 0) in parse_qual_type()
1923 const char *t = fn(first + 2, last, db); in parse_alignof() local
1924 if (t == first + 2 || NAMT(db, n) != 1) in parse_alignof()
1928 return (t); in parse_alignof()
1945 const char *t = NULL; in parse_sizeof() local
1950 t = parse_type(first + 2, last, db); in parse_sizeof()
1953 t = parse_expression(first + 2, last, db); in parse_sizeof()
1958 if (t == first + 2 || NAMT(db, n) != 1) in parse_sizeof()
1962 return (t); in parse_sizeof()
2027 const char *t = NULL; in parse_sizeof_param_pack_expr() local
2031 t = parse_template_param(first + 2, last, db); in parse_sizeof_param_pack_expr()
2033 t = parse_function_param(first + 2, last, db); in parse_sizeof_param_pack_expr()
2035 if (t == first + 2) in parse_sizeof_param_pack_expr()
2040 return (t); in parse_sizeof_param_pack_expr()
2058 const char *t = NULL; in parse_typeid_expr() local
2062 t = parse_expression(first + 2, last, db); in parse_typeid_expr()
2064 t = parse_type(first + 2, last, db); in parse_typeid_expr()
2066 if (t == first + 2 || NAMT(db, n) != 1) in parse_typeid_expr()
2070 return (t); in parse_typeid_expr()
2094 const char *t = parse_expression(first + 2, last, db); in parse_throw_expr() local
2095 if (t == first + 2 || NAMT(db, n) != 1) in parse_throw_expr()
2099 return (t); in parse_throw_expr()
2115 const char *t = parse_expression(first + 2, last, db); in parse_dot_star_expr() local
2116 if (t == first + 2) in parse_dot_star_expr()
2119 const char *t2 = parse_expression(t, last, db); in parse_dot_star_expr()
2120 if (t == t2 || NAMT(db, n) != 2) in parse_dot_star_expr()
2139 const char *t = parse_expression(first + 2, last, db); in parse_dot_expr() local
2140 if (t == first + 2) in parse_dot_expr()
2143 const char *t1 = parse_unresolved_name(t, last, db); in parse_dot_expr()
2144 if (t1 == t) in parse_dot_expr()
2163 const char *t = first + 2; in parse_call_expr() local
2167 for (t = first + 2; t != last && t[0] != 'E'; t = t1) { in parse_call_expr()
2168 t1 = parse_expression(t, last, db); in parse_call_expr()
2169 if (t1 == t) in parse_call_expr()
2175 if (t == last || amt == 0) in parse_call_expr()
2181 VERIFY3U(t[0], ==, 'E'); in parse_call_expr()
2182 return (t + 1); in parse_call_expr()
2202 const char *t = NULL; in parse_conv_expr() local
2210 t = parse_type(first + 2, last, db); in parse_conv_expr()
2213 if (t == first + 2) in parse_conv_expr()
2216 if (t[0] != '_') { in parse_conv_expr()
2217 t1 = parse_expression(t, last, db); in parse_conv_expr()
2218 if (t1 == t) in parse_conv_expr()
2221 t = t1; in parse_conv_expr()
2226 t++; in parse_conv_expr()
2227 while (t[0] != 'E' && t != last) { in parse_conv_expr()
2228 t1 = parse_expression(t, last, db); in parse_conv_expr()
2229 if (t1 == t) in parse_conv_expr()
2231 t1 = t; in parse_conv_expr()
2235 t++; in parse_conv_expr()
2244 return (t); in parse_conv_expr()
2253 const char *t = parse_source_name(first, last, db); in parse_simple_id() local
2254 if (t == first) in parse_simple_id()
2255 return (t); in parse_simple_id()
2257 const char *t1 = parse_template_args(t, last, db); in parse_simple_id()
2258 if (t == t1) in parse_simple_id()
2259 return (t); in parse_simple_id()
2278 const char *t = first; in parse_unresolved_type() local
2283 t = parse_template_param(first, last, db); in parse_unresolved_type()
2284 if (t == first || NAMT(db, n) != 1) { in parse_unresolved_type()
2290 return (t); in parse_unresolved_type()
2293 t = parse_decltype(first, last, db); in parse_unresolved_type()
2294 if (t == first || NAMT(db, n) == 0) in parse_unresolved_type()
2297 return (t); in parse_unresolved_type()
2300 t = parse_substitution(first, last, db); in parse_unresolved_type()
2301 if (t != first) in parse_unresolved_type()
2302 return (t); in parse_unresolved_type()
2307 t = parse_unqualified_name(first + 2, last, db); in parse_unresolved_type()
2308 if (t == first + 2 || NAMT(db, n) == 0) in parse_unresolved_type()
2313 return (t); in parse_unresolved_type()
2331 const char *t = parse_expression(first + 2, last, db); in parse_pack_expansion() local
2332 if (t == first +2) in parse_pack_expansion()
2335 return (t); in parse_pack_expansion()
2351 const char *t = first; in parse_unscoped_name() local
2357 t = first + 2; in parse_unscoped_name()
2360 t++; in parse_unscoped_name()
2363 t1 = parse_unqualified_name(t, last, db); in parse_unscoped_name()
2364 if (t == t1) in parse_unscoped_name()
2647 const char *t = parse_number(first, last); in parse_integer_literal() local
2650 if (t == first || t == last || t[0] != 'E') in parse_integer_literal()
2656 nadd_l(db, start, (size_t)(t - start)); in parse_integer_literal()
2661 return (t + 1); in parse_integer_literal()
2709 const char *t = NULL; in parse_floating_literal() local
2726 for (t = first + 1; t != last; t++, e++) { in parse_floating_literal()
2727 if (!is_xdigit(t[0])) in parse_floating_literal()
2730 unsigned d1 = ISDIGIT(t[0]) ? t[0] - '0' : t[0] - 'a' + 10; in parse_floating_literal()
2731 t++; in parse_floating_literal()
2732 unsigned d0 = ISDIGIT(t[0]) ? t[0] - '0' : t[0] - 'a' + 10; in parse_floating_literal()
2737 for (t = last - 1; t > first; t--, e++) { in parse_floating_literal()
2738 if (!is_xdigit(t[0])) in parse_floating_literal()
2741 unsigned d0 = ISDIGIT(t[0]) ? t[0] - '0' : t[0] - 'a' + 10; in parse_floating_literal()
2742 t--; in parse_floating_literal()
2743 unsigned d1 = ISDIGIT(t[0]) ? t[0] - '0' : t[0] - 'a' + 10; in parse_floating_literal()
2747 t = last; in parse_floating_literal()
2752 if (t[0] != 'E') in parse_floating_literal()
2786 return (t + 1); in parse_floating_literal()
2829 const char *t = NULL; in parse_expr_primary() local
2833 t = parse_integer_literal(first + 2, last, in parse_expr_primary()
2835 return ((t == first + 2) ? first : t); in parse_expr_primary()
2858 t = parse_floating_literal(first + 1, last, db); in parse_expr_primary()
2859 return ((t == first + 1) ? first : t); in parse_expr_primary()
2873 t = parse_encoding(first + 3, last, db); in parse_expr_primary()
2874 if (t == first + 3 || t == last || t[0] != 'E') in parse_expr_primary()
2878 return (t + 1); in parse_expr_primary()
2880 t = parse_type(first + 1, last, db); in parse_expr_primary()
2881 if (t == first + 1 || t == last) in parse_expr_primary()
2884 if (t[0] == 'E') in parse_expr_primary()
2885 return (t + 1); in parse_expr_primary()
2888 for (n = t; n != last && ISDIGIT(n[0]); n++) in parse_expr_primary()
2892 if (n == t) in parse_expr_primary()
2893 return (t); in parse_expr_primary()
2895 nadd_l(db, t, (size_t)(n - t)); in parse_expr_primary()
3024 const char *t = NULL; in parse_operator_name() local
3027 t = parse_source_name(first + 2, last, db); in parse_operator_name()
3028 if (t == first + 2 || nempty(db)) in parse_operator_name()
3032 return (t); in parse_operator_name()
3039 t = parse_source_name(first + 2, last, db); in parse_operator_name()
3040 if (t == first + 2) in parse_operator_name()
3044 return (t); in parse_operator_name()
3054 t = parse_type(first + 2, last, db); in parse_operator_name()
3057 if (t == first + 2 || nempty(db)) in parse_operator_name()
3062 return (t); in parse_operator_name()
3135 const char *t = parse_source_name(first + 1, last, db); in parse_builtin_type() local
3136 if (t == first + 1) in parse_builtin_type()
3138 return (t); in parse_builtin_type()
3149 const char *t; in parse_base36() local
3151 for (t = first, *val = 0; t != last; t++) { in parse_base36()
3152 if (!ISDIGIT(t[0]) && !ISUPPER(t[0])) in parse_base36()
3153 return (t); in parse_base36()
3157 if (ISDIGIT(t[0])) in parse_base36()
3158 *val += t[0] - '0'; in parse_base36()
3160 *val += t[0] - 'A' + 10; in parse_base36()
3162 return (t); in parse_base36()
3192 const char *t = first + 1; in parse_substitution() local
3195 if (t[0] != '_') { in parse_substitution()
3196 t = parse_base36(first + 1, last, &n); in parse_substitution()
3197 if (t == first + 1 || t[0] != '_') in parse_substitution()
3214 VERIFY3U(t[0], ==, '_'); in parse_substitution()
3216 return (t + 1); in parse_substitution()
3227 const char *t = NULL; in parse_source_name() local
3230 for (t = first; t != last && ISDIGIT(t[0]); t++) { in parse_source_name()
3236 nn += t[0] - '0'; in parse_source_name()
3243 if (n == 0 || t == last || t + n > last || in parse_source_name()
3244 (uintptr_t)t + n < (uintptr_t)t) in parse_source_name()
3247 if (strncmp(t, "_GLOBAL__N", 10) == 0) in parse_source_name()
3250 nadd_l(db, t, n); in parse_source_name()
3252 return (t + n); in parse_source_name()
3274 const char *t = first + 2; in parse_vector_type() local
3278 t1 = parse_number(t, last); in parse_vector_type()
3282 nadd_l(db, t, (size_t)(t1 - t)); in parse_vector_type()
3285 t = t1 + 1; in parse_vector_type()
3287 if (t[0] != 'p') { in parse_vector_type()
3288 t1 = parse_type(t, last, db); in parse_vector_type()
3289 if (t1 == t) in parse_vector_type()
3305 t = t1 + 1; in parse_vector_type()
3310 t1 = parse_type(t, last, db); in parse_vector_type()
3311 if (t == t1) in parse_vector_type()
3338 const char *t = parse_expression(first + 2, last, db); in parse_decltype() local
3339 if (NAMT(db, n) != 1 || t == first + 2 || t == last || t[0] != 'E') in parse_decltype()
3345 return (t + 1); in parse_decltype()
3361 const char *t = first + 1; in parse_array_type() local
3365 if (t[0] != '_') { in parse_array_type()
3366 if (ISDIGIT(t[0]) && t[0] != '0') { in parse_array_type()
3367 t1 = parse_number(t, last); in parse_array_type()
3371 nadd_l(db, t, (size_t)(t1 - t)); in parse_array_type()
3373 t1 = parse_expression(t, last, db); in parse_array_type()
3374 if (t1 == last || t == t1) in parse_array_type()
3381 t = t1; in parse_array_type()
3386 VERIFY3U(t[0], ==, '_'); in parse_array_type()
3388 t1 = parse_type(t + 1, last, db); in parse_array_type()
3389 if (t1 == t + 1 || NAMT(db, n) != 2) in parse_array_type()
3462 const char *t = first; in parse_unresolved_name() local
3467 if (t[0] == 'g' && t[1] == 's') { in parse_unresolved_name()
3469 t += 2; in parse_unresolved_name()
3471 if (t == last) in parse_unresolved_name()
3474 t2 = parse_base_unresolved_name(t, last, db); in parse_unresolved_name()
3475 if (t != t2) { in parse_unresolved_name()
3485 if (t[0] != 's' || t[1] != 'r' || last - t < 2) in parse_unresolved_name()
3489 if (t[2] == 'N') { in parse_unresolved_name()
3490 t += 3; in parse_unresolved_name()
3491 t2 = parse_unresolved_type(t, last, db); in parse_unresolved_name()
3492 if (t2 == t || t2 == last) in parse_unresolved_name()
3494 t = t2; in parse_unresolved_name()
3496 t2 = parse_template_args(t, last, db); in parse_unresolved_name()
3497 if (t2 != t) { in parse_unresolved_name()
3502 t = t2; in parse_unresolved_name()
3507 while (t[0] != 'E') { in parse_unresolved_name()
3509 t2 = parse_unresolved_qualifier_level(t, last, db); in parse_unresolved_name()
3510 if (t == t2 || t == last || NAMT(db, nn) != 1) in parse_unresolved_name()
3513 t = t2; in parse_unresolved_name()
3517 t++; in parse_unresolved_name()
3519 t2 = parse_base_unresolved_name(t, last, db); in parse_unresolved_name()
3520 if (t == t2 || NAMT(db, n) < 2) in parse_unresolved_name()
3527 t += 2; in parse_unresolved_name()
3529 t2 = parse_unresolved_type(t, last, db); in parse_unresolved_name()
3530 if (t != t2) { in parse_unresolved_name()
3531 t = t2; in parse_unresolved_name()
3532 t2 = parse_template_args(t, last, db); in parse_unresolved_name()
3533 if (t2 != t) in parse_unresolved_name()
3535 t = t2; in parse_unresolved_name()
3537 t2 = parse_base_unresolved_name(t, last, db); in parse_unresolved_name()
3538 if (t == t2 || nlen(db) < 2) in parse_unresolved_name()
3545 t2 = parse_unresolved_qualifier_level(t, last, db); in parse_unresolved_name()
3546 if (t2 == t || t2 == last) in parse_unresolved_name()
3549 t = t2; in parse_unresolved_name()
3553 while (t[0] != 'E') { in parse_unresolved_name()
3554 t2 = parse_unresolved_qualifier_level(t, last, db); in parse_unresolved_name()
3555 if (t == t2 || t == last || nlen(db) < 2) in parse_unresolved_name()
3558 t = t2; in parse_unresolved_name()
3562 t++; in parse_unresolved_name()
3564 t2 = parse_base_unresolved_name(t, last, db); in parse_unresolved_name()
3565 if (t == t2 || nlen(db) < 2) in parse_unresolved_name()
3600 const char *t = NULL; in parse_base_unresolved_name() local
3604 t = parse_simple_id(first, last, db); in parse_base_unresolved_name()
3605 if (t != first) in parse_base_unresolved_name()
3606 return (t); in parse_base_unresolved_name()
3608 t = parse_operator_name(first, last, db); in parse_base_unresolved_name()
3609 if (t == first) in parse_base_unresolved_name()
3612 t1 = parse_template_args(t, last, db); in parse_base_unresolved_name()
3613 if (t1 != t) { in parse_base_unresolved_name()
3623 t = parse_destructor_name(first + 2, last, db); in parse_base_unresolved_name()
3624 return ((t != first + 2) ? t : first); in parse_base_unresolved_name()
3627 t = parse_operator_name(first + 2, last, db); in parse_base_unresolved_name()
3628 if (t == first + 2) in parse_base_unresolved_name()
3631 t1 = parse_template_args(t, last, db); in parse_base_unresolved_name()
3632 if (t1 != t) in parse_base_unresolved_name()
3649 const char *t = parse_unresolved_type(first, last, db); in parse_destructor_name() local
3651 if (t == first) in parse_destructor_name()
3652 t = parse_simple_id(first, last, db); in parse_destructor_name()
3654 if (t == first) in parse_destructor_name()
3658 return (t); in parse_destructor_name()
3677 const char *t = first + 1; in parse_function_type() local
3680 if (t[0] == 'Y') in parse_function_type()
3681 t++; in parse_function_type()
3683 const char *t1 = parse_type(t, last, db); in parse_function_type()
3684 if (t1 == t) in parse_function_type()
3690 t = t1; in parse_function_type()
3692 while (t != last && t[0] != 'E') { in parse_function_type()
3693 if (t[0] == 'v') { in parse_function_type()
3694 t++; in parse_function_type()
3698 if (t[0] == 'R' && t + 1 != last && t[1] == 'E') { in parse_function_type()
3700 t++; in parse_function_type()
3704 if (t[0] == 'O' && t + 1 != last && t[1] == 'E') { in parse_function_type()
3706 t++; in parse_function_type()
3711 t1 = parse_type(t, last, db); in parse_function_type()
3712 if (t1 == t || t == last) in parse_function_type()
3715 t = t1; in parse_function_type()
3718 if (t == last) in parse_function_type()
3736 return (t + 1); in parse_function_type()
3751 const char *t = first + 1; in parse_template_param() local
3754 while (t != last && t[0] != '_') { in parse_template_param()
3755 if (!ISDIGIT(t[0])) in parse_template_param()
3759 idx += t[0] - '0'; in parse_template_param()
3760 t++; in parse_template_param()
3763 if (t == last) in parse_template_param()
3766 VERIFY3U(t[0], ==, '_'); in parse_template_param()
3778 t++; in parse_template_param()
3784 nadd_l(db, first, (size_t)(t - first)); in parse_template_param()
3786 return (t); in parse_template_param()
3790 return (t); in parse_template_param()
3808 const char *t = first + 1; in parse_template_args() local
3811 while (t[0] != 'E') { in parse_template_args()
3816 const char *t1 = parse_template_arg(t, last, db); in parse_template_args()
3821 if (t1 == t || t == last) in parse_template_args()
3827 t = t1; in parse_template_args()
3851 return (t + 1); in parse_template_args()
3864 const char *t = NULL; in parse_discriminator() local
3870 for (t = first; t != last && ISDIGIT(t[0]); t++) in parse_discriminator()
3874 if (t != last) in parse_discriminator()
3877 return (t); in parse_discriminator()
3882 t = first + 1; in parse_discriminator()
3883 if (ISDIGIT(t[0])) in parse_discriminator()
3884 return (t + 1); in parse_discriminator()
3886 if (t[0] != '_' || t + 1 == last) in parse_discriminator()
3889 for (t++; t != last && ISDIGIT(t[0]); t++) in parse_discriminator()
3891 if (t == last || t[0] != '_') in parse_discriminator()
3894 return (t); in parse_discriminator()
3931 const char *t = first; in parse_number() local
3936 if (t[0] == 'n') in parse_number()
3937 t++; in parse_number()
3939 if (t[0] == '0') in parse_number()
3940 return (t + 1); in parse_number()
3942 while (ISDIGIT(t[0])) in parse_number()
3943 t++; in parse_number()
3945 return (t); in parse_number()