Lines Matching refs:dpi

252 #define d_print_saw_error(dpi) ((dpi)->buf == NULL)
254 #define d_append_char(dpi, c) \
257 if ((dpi)->buf != NULL && (dpi)->len < (dpi)->alc) \
258 (dpi)->buf[(dpi)->len++] = (c); \
260 d_print_append_char ((dpi), (c)); \
264 #define d_append_buffer(dpi, s, l) \
267 if ((dpi)->buf != NULL && (dpi)->len + (l) <= (dpi)->alc) \
269 memcpy ((dpi)->buf + (dpi)->len, (s), (l)); \
270 (dpi)->len += l; \
273 d_print_append_buffer ((dpi), (s), (l)); \
277 #define d_append_string_constant(dpi, s) \
278 d_append_buffer (dpi, (s), sizeof (s) - 1)
280 #define d_last_char(dpi) \
281 ((dpi)->buf == NULL || (dpi)->len == 0 ? '\0' : (dpi)->buf[(dpi)->len - 1])
2595 d_print_resize (struct d_print_info *dpi, size_t add)
2599 if (dpi->buf == NULL)
2601 need = dpi->len + add;
2602 while (need > dpi->alc)
2607 newalc = dpi->alc * 2;
2608 newbuf = (char *) realloc (dpi->buf, newalc);
2611 free (dpi->buf);
2612 dpi->buf = NULL;
2613 dpi->allocation_failure = 1;
2616 dpi->buf = newbuf;
2617 dpi->alc = newalc;
2624 d_print_append_char (struct d_print_info *dpi, int c)
2626 if (dpi->buf != NULL)
2628 if (dpi->len >= dpi->alc)
2630 d_print_resize (dpi, 1);
2631 if (dpi->buf == NULL)
2635 dpi->buf[dpi->len] = c;
2636 ++dpi->len;
2643 d_print_append_buffer (struct d_print_info *dpi, const char *s, size_t l)
2645 if (dpi->buf != NULL)
2647 if (dpi->len + l > dpi->alc)
2649 d_print_resize (dpi, l);
2650 if (dpi->buf == NULL)
2654 memcpy (dpi->buf + dpi->len, s, l);
2655 dpi->len += l;
2662 d_print_error (struct d_print_info *dpi)
2664 free (dpi->buf);
2665 dpi->buf = NULL;
2681 struct d_print_info dpi;
2683 dpi.options = options;
2685 dpi.alc = estimate + 1;
2686 dpi.buf = (char *) malloc (dpi.alc);
2687 if (dpi.buf == NULL)
2693 dpi.len = 0;
2694 dpi.templates = NULL;
2695 dpi.modifiers = NULL;
2697 dpi.allocation_failure = 0;
2699 d_print_comp (&dpi, dc);
2701 d_append_char (&dpi, '\0');
2703 if (dpi.buf != NULL)
2704 *palc = dpi.alc;
2706 *palc = dpi.allocation_failure;
2708 return dpi.buf;
2714 d_print_comp (struct d_print_info *dpi,
2719 d_print_error (dpi);
2722 if (d_print_saw_error (dpi))
2728 if ((dpi->options & DMGL_JAVA) == 0)
2729 d_append_buffer (dpi, dc->u.s_name.s, dc->u.s_name.len);
2731 d_print_java_identifier (dpi, dc->u.s_name.s, dc->u.s_name.len);
2736 d_print_comp (dpi, d_left (dc));
2737 if ((dpi->options & DMGL_JAVA) == 0)
2738 d_append_string_constant (dpi, "::");
2740 d_append_char (dpi, '.');
2741 d_print_comp (dpi, d_right (dc));
2755 hold_modifiers = dpi->modifiers;
2762 d_print_error (dpi);
2766 adpm[i].next = dpi->modifiers;
2767 dpi->modifiers = &adpm[i];
2770 adpm[i].templates = dpi->templates;
2785 dpt.next = dpi->templates;
2786 dpi->templates = &dpt;
2805 d_print_error (dpi);
2811 dpi->modifiers = &adpm[i];
2815 adpm[i - 1].templates = dpi->templates;
2822 d_print_comp (dpi, d_right (dc));
2825 dpi->templates = dpt.next;
2834 d_append_char (dpi, ' ');
2835 d_print_mod (dpi, adpm[i].mod);
2839 dpi->modifiers = hold_modifiers;
2852 hold_dpm = dpi->modifiers;
2853 dpi->modifiers = NULL;
2855 d_print_comp (dpi, d_left (dc));
2856 if (d_last_char (dpi) == '<')
2857 d_append_char (dpi, ' ');
2858 d_append_char (dpi, '<');
2859 d_print_comp (dpi, d_right (dc));
2862 if (d_last_char (dpi) == '>')
2863 d_append_char (dpi, ' ');
2864 d_append_char (dpi, '>');
2866 dpi->modifiers = hold_dpm;
2877 if (dpi->templates == NULL)
2879 d_print_error (dpi);
2883 for (a = d_right (dpi->templates->template_decl);
2889 d_print_error (dpi);
2898 d_print_error (dpi);
2907 hold_dpt = dpi->templates;
2908 dpi->templates = hold_dpt->next;
2910 d_print_comp (dpi, d_left (a));
2912 dpi->templates = hold_dpt;
2918 d_print_comp (dpi, dc->u.s_ctor.name);
2922 d_append_char (dpi, '~');
2923 d_print_comp (dpi, dc->u.s_dtor.name);
2927 d_append_string_constant (dpi, "vtable for ");
2928 d_print_comp (dpi, d_left (dc));
2932 d_append_string_constant (dpi, "VTT for ");
2933 d_print_comp (dpi, d_left (dc));
2937 d_append_string_constant (dpi, "construction vtable for ");
2938 d_print_comp (dpi, d_left (dc));
2939 d_append_string_constant (dpi, "-in-");
2940 d_print_comp (dpi, d_right (dc));
2944 d_append_string_constant (dpi, "typeinfo for ");
2945 d_print_comp (dpi, d_left (dc));
2949 d_append_string_constant (dpi, "typeinfo name for ");
2950 d_print_comp (dpi, d_left (dc));
2954 d_append_string_constant (dpi, "typeinfo fn for ");
2955 d_print_comp (dpi, d_left (dc));
2959 d_append_string_constant (dpi, "non-virtual thunk to ");
2960 d_print_comp (dpi, d_left (dc));
2964 d_append_string_constant (dpi, "virtual thunk to ");
2965 d_print_comp (dpi, d_left (dc));
2969 d_append_string_constant (dpi, "covariant return thunk to ");
2970 d_print_comp (dpi, d_left (dc));
2974 d_append_string_constant (dpi, "java Class for ");
2975 d_print_comp (dpi, d_left (dc));
2979 d_append_string_constant (dpi, "guard variable for ");
2980 d_print_comp (dpi, d_left (dc));
2984 d_append_string_constant (dpi, "reference temporary for ");
2985 d_print_comp (dpi, d_left (dc));
2989 d_append_string_constant (dpi, "hidden alias for ");
2990 d_print_comp (dpi, d_left (dc));
2994 d_append_buffer (dpi, dc->u.s_string.string, dc->u.s_string.len);
3007 for (pdpm = dpi->modifiers; pdpm != NULL; pdpm = pdpm->next)
3017 d_print_comp (dpi, d_left (dc));
3036 dpm.next = dpi->modifiers;
3037 dpi->modifiers = &dpm;
3040 dpm.templates = dpi->templates;
3042 d_print_comp (dpi, d_left (dc));
3047 d_print_mod (dpi, dc);
3049 dpi->modifiers = dpm.next;
3055 if ((dpi->options & DMGL_JAVA) == 0)
3056 d_append_buffer (dpi, dc->u.s_builtin.type->name,
3059 d_append_buffer (dpi, dc->u.s_builtin.type->java_name,
3064 d_print_comp (dpi, d_left (dc));
3069 if ((dpi->options & DMGL_RET_POSTFIX) != 0)
3070 d_print_function_type (dpi, dc, dpi->modifiers);
3079 dpm.next = dpi->modifiers;
3080 dpi->modifiers = &dpm;
3083 dpm.templates = dpi->templates;
3085 d_print_comp (dpi, d_left (dc));
3087 dpi->modifiers = dpm.next;
3094 if ((dpi->options & DMGL_RET_POSTFIX) == 0)
3095 d_append_char (dpi, ' ');
3098 if ((dpi->options & DMGL_RET_POSTFIX) == 0)
3099 d_print_function_type (dpi, dc, dpi->modifiers);
3119 hold_modifiers = dpi->modifiers;
3122 dpi->modifiers = &adpm[0];
3125 adpm[0].templates = dpi->templates;
3138 d_print_error (dpi);
3143 adpm[i].next = dpi->modifiers;
3144 dpi->modifiers = &adpm[i];
3152 d_print_comp (dpi, d_right (dc));
3154 dpi->modifiers = hold_modifiers;
3162 d_print_mod (dpi, adpm[i].mod);
3165 d_print_array_type (dpi, dc, dpi->modifiers);
3174 dpm.next = dpi->modifiers;
3175 dpi->modifiers = &dpm;
3178 dpm.templates = dpi->templates;
3180 d_print_comp (dpi, d_right (dc));
3186 d_append_char (dpi, ' ');
3187 d_print_comp (dpi, d_left (dc));
3188 d_append_string_constant (dpi, "::*");
3191 dpi->modifiers = dpm.next;
3198 d_print_comp (dpi, d_left (dc));
3201 d_append_string_constant (dpi, ", ");
3202 d_print_comp (dpi, d_right (dc));
3210 d_append_string_constant (dpi, "operator");
3213 d_append_char (dpi, ' ');
3214 d_append_buffer (dpi, dc->u.s_operator.op->name,
3220 d_append_string_constant (dpi, "operator ");
3221 d_print_comp (dpi, dc->u.s_extended_operator.name);
3225 d_append_string_constant (dpi, "operator ");
3226 d_print_cast (dpi, dc);
3231 d_print_expr_op (dpi, d_left (dc));
3234 d_append_char (dpi, '(');
3235 d_print_cast (dpi, d_left (dc));
3236 d_append_char (dpi, ')');
3238 d_append_char (dpi, '(');
3239 d_print_comp (dpi, d_right (dc));
3240 d_append_char (dpi, ')');
3246 d_print_error (dpi);
3256 d_append_char (dpi, '(');
3258 d_append_char (dpi, '(');
3259 d_print_comp (dpi, d_left (d_right (dc)));
3260 d_append_string_constant (dpi, ") ");
3261 d_print_expr_op (dpi, d_left (dc));
3262 d_append_string_constant (dpi, " (");
3263 d_print_comp (dpi, d_right (d_right (dc)));
3264 d_append_char (dpi, ')');
3269 d_append_char (dpi, ')');
3275 d_print_error (dpi);
3282 d_print_error (dpi);
3285 d_append_char (dpi, '(');
3286 d_print_comp (dpi, d_left (d_right (dc)));
3287 d_append_string_constant (dpi, ") ");
3288 d_print_expr_op (dpi, d_left (dc));
3289 d_append_string_constant (dpi, " (");
3290 d_print_comp (dpi, d_left (d_right (d_right (dc))));
3291 d_append_string_constant (dpi, ") : (");
3292 d_print_comp (dpi, d_right (d_right (d_right (dc))));
3293 d_append_char (dpi, ')');
3299 d_print_error (dpi);
3323 d_append_char (dpi, '-');
3324 d_print_comp (dpi, d_right (dc));
3330 d_append_char (dpi, 'u');
3333 d_append_char (dpi, 'l');
3336 d_append_string_constant (dpi, "ul");
3339 d_append_string_constant (dpi, "ll");
3342 d_append_string_constant (dpi, "ull");
3357 d_append_string_constant (dpi, "false");
3360 d_append_string_constant (dpi, "true");
3373 d_append_char (dpi, '(');
3374 d_print_comp (dpi, d_left (dc));
3375 d_append_char (dpi, ')');
3377 d_append_char (dpi, '-');
3379 d_append_char (dpi, '[');
3380 d_print_comp (dpi, d_right (dc));
3382 d_append_char (dpi, ']');
3387 d_print_error (dpi);
3398 d_print_java_identifier (struct d_print_info *dpi, const char *name, int len)
3434 d_append_char (dpi, c);
3440 d_append_char (dpi, *p);
3448 d_print_mod_list (struct d_print_info *dpi,
3453 if (mods == NULL || d_print_saw_error (dpi))
3462 d_print_mod_list (dpi, mods->next, suffix);
3468 hold_dpt = dpi->templates;
3469 dpi->templates = mods->templates;
3473 d_print_function_type (dpi, mods->mod, mods->next);
3474 dpi->templates = hold_dpt;
3479 d_print_array_type (dpi, mods->mod, mods->next);
3480 dpi->templates = hold_dpt;
3493 hold_modifiers = dpi->modifiers;
3494 dpi->modifiers = NULL;
3495 d_print_comp (dpi, d_left (mods->mod));
3496 dpi->modifiers = hold_modifiers;
3498 if ((dpi->options & DMGL_JAVA) == 0)
3499 d_append_string_constant (dpi, "::");
3501 d_append_char (dpi, '.');
3509 d_print_comp (dpi, dc);
3511 dpi->templates = hold_dpt;
3515 d_print_mod (dpi, mods->mod);
3517 dpi->templates = hold_dpt;
3519 d_print_mod_list (dpi, mods->next, suffix);
3525 d_print_mod (struct d_print_info *dpi,
3532 d_append_string_constant (dpi, " restrict");
3536 d_append_string_constant (dpi, " volatile");
3540 d_append_string_constant (dpi, " const");
3543 d_append_char (dpi, ' ');
3544 d_print_comp (dpi, d_right (mod));
3548 if ((dpi->options & DMGL_JAVA) == 0)
3549 d_append_char (dpi, '*');
3552 d_append_char (dpi, '&');
3555 d_append_string_constant (dpi, "complex ");
3558 d_append_string_constant (dpi, "imaginary ");
3561 if (d_last_char (dpi) != '(')
3562 d_append_char (dpi, ' ');
3563 d_print_comp (dpi, d_left (mod));
3564 d_append_string_constant (dpi, "::*");
3567 d_print_comp (dpi, d_left (mod));
3572 d_print_comp (dpi, mod);
3580 d_print_function_type (struct d_print_info *dpi,
3633 if (d_last_char (dpi) != '('
3634 && d_last_char (dpi) != '*')
3637 if (need_space && d_last_char (dpi) != ' ')
3638 d_append_char (dpi, ' ');
3639 d_append_char (dpi, '(');
3642 hold_modifiers = dpi->modifiers;
3643 dpi->modifiers = NULL;
3645 d_print_mod_list (dpi, mods, 0);
3648 d_append_char (dpi, ')');
3650 d_append_char (dpi, '(');
3653 d_print_comp (dpi, d_right (dc));
3655 d_append_char (dpi, ')');
3657 d_print_mod_list (dpi, mods, 1);
3659 dpi->modifiers = hold_modifiers;
3665 d_print_array_type (struct d_print_info *dpi,
3697 d_append_string_constant (dpi, " (");
3699 d_print_mod_list (dpi, mods, 0);
3702 d_append_char (dpi, ')');
3706 d_append_char (dpi, ' ');
3708 d_append_char (dpi, '[');
3711 d_print_comp (dpi, d_left (dc));
3713 d_append_char (dpi, ']');
3719 d_print_expr_op (struct d_print_info *dpi,
3723 d_append_buffer (dpi, dc->u.s_operator.op->name,
3726 d_print_comp (dpi, dc);
3732 d_print_cast (struct d_print_info *dpi,
3736 d_print_comp (dpi, d_left (dc));
3747 hold_dpm = dpi->modifiers;
3748 dpi->modifiers = NULL;
3750 dpt.next = dpi->templates;
3751 dpi->templates = &dpt;
3754 d_print_comp (dpi, d_left (d_left (dc)));
3756 dpi->templates = dpt.next;
3758 if (d_last_char (dpi) == '<')
3759 d_append_char (dpi, ' ');
3760 d_append_char (dpi, '<');
3761 d_print_comp (dpi, d_right (d_left (dc)));
3764 if (d_last_char (dpi) == '>')
3765 d_append_char (dpi, ' ');
3766 d_append_char (dpi, '>');
3768 dpi->modifiers = hold_dpm;