Jakub Jelinek <ja...@redhat.com> writes:

> The bug is elsewhere, the following patch should fix this
> (and I've reordered the assignments according to the call arg
> number, so that it is more readable at the same time).
> Ok for trunk?
>
> 2012-11-12  Jakub Jelinek  <ja...@redhat.com>
>
>       * asan.c (instrument_builtin_call) <case BUILT_IN_BCOPY>: Fix up
>       dest assignment.
>
> --- gcc/asan.c.jj     2012-11-12 17:16:16.000000000 +0100
> +++ gcc/asan.c        2012-11-12 17:39:19.673022734 +0100
> @@ -1044,16 +1044,16 @@ instrument_builtin_call (gimple_stmt_ite
>        /* (s, s, n) style memops.  */
>      case BUILT_IN_BCMP:
>      case BUILT_IN_MEMCMP:
> -      len = gimple_call_arg (call, 2);
>        source0 = gimple_call_arg (call, 0);
>        source1 = gimple_call_arg (call, 1);
> +      len = gimple_call_arg (call, 2);
>        break;
>  
>        /* (src, dest, n) style memops.  */
>      case BUILT_IN_BCOPY:
> -      len = gimple_call_arg (call, 2);
>        source0 = gimple_call_arg (call, 0);
> -      dest = gimple_call_arg (call, 2);
> +      dest = gimple_call_arg (call, 1);
> +      len = gimple_call_arg (call, 2);
>        break;
>  
>        /* (dest, src, n) style memops.  */

Indeed.  I was about to send a similar patch after Tobias' report.

Thanks.

-- 
                Dodji

Reply via email to