On Mon, Oct 29, 2012 at 05:06:01AM -0700, H.J. Lu wrote:
> When indent == 0, we call alloca with -1 bytes.  This patch changes
> it to indent + 1.  This is a trunk only regression.  OK to install?

> 2012-10-29  H.J. Lu  <hongjiu...@intel.com>
> 
>       * gimple-pretty-print.c (dump_gimple_bb_header): Correct alloca
>       length.
> 
> diff --git a/gcc/gimple-pretty-print.c b/gcc/gimple-pretty-print.c
> index 4b3235e..62c315e 100644
> --- a/gcc/gimple-pretty-print.c
> +++ b/gcc/gimple-pretty-print.c
> @@ -2093,7 +2093,7 @@ dump_gimple_bb_header (FILE *outf, basic_block bb, int 
> indent, int flags)
>        gimple stmt = first_stmt (bb);
>        if (!stmt || gimple_code (stmt) != GIMPLE_LABEL)
>       {
> -       char *s_indent = (char *) alloca ((size_t) indent - 2 + 1);
> +       char *s_indent = (char *) alloca ((size_t) indent + 1);
>         memset (s_indent, ' ', (size_t) indent);
>         s_indent[indent] = '\0';
>         fprintf (outf, "%s<bb %d>:\n", s_indent, bb->index);

Can't you instead of all this just do
  fprintf (outf, "%*s<bb %d>:\n", indent, "", bb->index);
?

        Jakub

Reply via email to