On Mon, May 01, 2017 at 06:19:28PM +0200, Thomas Koenig wrote:

> +     if (m_case == A2B2)
> +       {
> +         a2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 2);
> +         b1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 1);
> +         test = runtime_error_ne (b1, a2, "Dimension of array B incorrect "
> +                                  "in MATMUL intrinsic: Is %ld, should be 
> %ld");
> +         *next_code_point = test;
> +         next_code_point = &test->next;
> +       }
> +     else if (m_case == A2B1)
> +       {
> +         a2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 2);
> +         b1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 1);
> +         test = runtime_error_ne (b1, a2, "Dimension of array B incorrect "
>                                  "in MATMUL intrinsic: Is %ld, should be 
> %ld");
> -       *next_code_point = test;
> -       next_code_point = &test->next;
> +         *next_code_point = test;
> +         next_code_point = &test->next;
> +       }
>       }

Why the duplicate code?  Seems like an OR is needed.

        if (m_case == A2B1 || m_case == A2B2)
          {
            a2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 2);
            b1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 1);
            test = runtime_error_ne (b1, a2, "Dimension of array B incorrect "
                                     "in MATMUL intrinsic: Is %ld, should be 
%ld");
            *next_code_point = test;
            next_code_point = &test->next;
          }

-- 
Steve
20170425 https://www.youtube.com/watch?v=VWUpyCsUKR4
20161221 https://www.youtube.com/watch?v=IbCHE-hONow

Reply via email to