https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89939

Thomas Koenig <tkoenig at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tkoenig at gcc dot gnu.org

--- Comment #2 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
For this case, the solution is straightforward:

Index: frontend-passes.c                                                        
===================================================================             
--- frontend-passes.c   (Revision 270182)                                       
+++ frontend-passes.c   (Arbeitskopie)                                          
@@ -3743,13 +3743,16 @@                                                         

 /* Macros for unified error messages.  */                                      

-#define B_ERROR(n) _("Incorrect extent in argument B in MATMUL intrinsic in "
\
-                    "dimension " #n ": is %ld, should be %ld")
+#define B_ERROR_1 _("Incorrect extent in argument B in MATMUL intrinsic in " \
+                    "dimension 1: is %ld, should be %ld")

-#define C_ERROR(n) _("Array bound mismatch for dimension " #n " of array " \
-                    "(%ld/%ld)")
+#define C_ERROR_1 _("Array bound mismatch for dimension 1 of array " \
+                   "(%ld/%ld)")

+#define C_ERROR_2 _("Array bound mismatch for dimension 2 of array " \
+                   "(%ld/%ld)")

+
 /* Inline assignments of the form c = matmul(a,b).
    Handle only the cases currently where b and c are rank-two arrays.

@@ -3976,7 +3979,7 @@

          b1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 1);
          a2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 2);
-         test = runtime_error_ne (b1, a2, B_ERROR(1));
+         test = runtime_error_ne (b1, a2, B_ERROR_1);
          *next_code_point = test;
          next_code_point = &test->next;

@@ -3984,7 +3987,7 @@
            {
              c1 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 1);
              a1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 1);
-             test = runtime_error_ne (c1, a1, C_ERROR(1));
+             test = runtime_error_ne (c1, a1, C_ERROR_1);
              *next_code_point = test;
              next_code_point = &test->next;
            }
@@ -3994,7 +3997,7 @@

          b1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 1);
          a1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 1);
-         test = runtime_error_ne (b1, a1, B_ERROR(1));
+         test = runtime_error_ne (b1, a1, B_ERROR_1);
          *next_code_point = test;
          next_code_point = &test->next;

@@ -4002,7 +4005,7 @@
            {
              c1 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 1);
              b2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 2);
-             test = runtime_error_ne (c1, b2, C_ERROR(1));
+             test = runtime_error_ne (c1, b2, C_ERROR_1);
              *next_code_point = test;
              next_code_point = &test->next;
            }
@@ -4012,7 +4015,7 @@

          b1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 1);
          a2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 2);
-         test = runtime_error_ne (b1, a2, B_ERROR(1));
+         test = runtime_error_ne (b1, a2, B_ERROR_1);
          *next_code_point = test;
          next_code_point = &test->next;

@@ -4020,13 +4023,13 @@
            {
              c1 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 1);
              a1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 1);
-             test = runtime_error_ne (c1, a1, C_ERROR(1));
+             test = runtime_error_ne (c1, a1, C_ERROR_1);
              *next_code_point = test;
              next_code_point = &test->next;

              c2 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 2);
              b2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 2);
-             test = runtime_error_ne (c2, b2, C_ERROR(2));
+             test = runtime_error_ne (c2, b2, C_ERROR_2);
              *next_code_point = test;
              next_code_point = &test->next;
            }
@@ -4037,7 +4040,7 @@
          b2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 2);
          a2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 2);
          /* matrix_b is transposed, hence dimension 1 for the error message. 
*/
-         test = runtime_error_ne (b2, a2, B_ERROR(1));
+         test = runtime_error_ne (b2, a2, B_ERROR_1);
          *next_code_point = test;
          next_code_point = &test->next;

@@ -4045,13 +4048,13 @@
            {
              c1 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 1);
              a1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 1);
-             test = runtime_error_ne (c1, a1, C_ERROR(1));
+             test = runtime_error_ne (c1, a1, C_ERROR_1);
              *next_code_point = test;
              next_code_point = &test->next;

              c2 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 2);
              b1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 1);
-             test = runtime_error_ne (c2, b1, C_ERROR(2));
+             test = runtime_error_ne (c2, b1, C_ERROR_2);
              *next_code_point = test;
              next_code_point = &test->next;
            }
@@ -4061,7 +4064,7 @@

          b1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 1);
          a1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 1);
-         test = runtime_error_ne (b1, a1, B_ERROR(1));
+         test = runtime_error_ne (b1, a1, B_ERROR_1);
          *next_code_point = test;
          next_code_point = &test->next;

@@ -4069,13 +4072,13 @@
            {
              c1 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 1);
              a2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 2);
-             test = runtime_error_ne (c1, a2, C_ERROR(1));
+             test = runtime_error_ne (c1, a2, C_ERROR_1);
              *next_code_point = test;
              next_code_point = &test->next;

              c2 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 2);
              b2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 2);
-             test = runtime_error_ne (c2, b2, C_ERROR(2));
+             test = runtime_error_ne (c2, b2, C_ERROR_2);
              *next_code_point = test;
              next_code_point = &test->next;
            }
@@ -4478,7 +4481,7 @@
        case A2B2:
          b1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 1);
          a2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 2);
-         test = runtime_error_ne (b1, a2, B_ERROR(1));
+         test = runtime_error_ne (b1, a2, B_ERROR_1);
          *next_code_point = test;
          next_code_point = &test->next;

@@ -4486,13 +4489,13 @@
            {
              c1 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 1);
              a1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 1);
-             test = runtime_error_ne (c1, a1, C_ERROR(1));
+             test = runtime_error_ne (c1, a1, C_ERROR_1);
              *next_code_point = test;
              next_code_point = &test->next;

              c2 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 2);
              b2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 2);
-             test = runtime_error_ne (c2, b2, C_ERROR(2));
+             test = runtime_error_ne (c2, b2, C_ERROR_2);
              *next_code_point = test;
              next_code_point = &test->next;
            }
@@ -4503,7 +4506,7 @@
          b2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 2);
          a2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 2);
          /* matrix_b is transposed, hence dimension 1 for the error message. 
*/
-         test = runtime_error_ne (b2, a2, B_ERROR(1));
+         test = runtime_error_ne (b2, a2, B_ERROR_1);
          *next_code_point = test;
          next_code_point = &test->next;

@@ -4511,13 +4514,13 @@
            {
              c1 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 1);
              a1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 1);
-             test = runtime_error_ne (c1, a1, C_ERROR(1));
+             test = runtime_error_ne (c1, a1, C_ERROR_1);
              *next_code_point = test;
              next_code_point = &test->next;

              c2 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 2);
              b1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 1);
-             test = runtime_error_ne (c2, b1, C_ERROR(2));
+             test = runtime_error_ne (c2, b1, C_ERROR_2);
              *next_code_point = test;
              next_code_point = &test->next;
            }
@@ -4527,7 +4530,7 @@

          b1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 1);
          a1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 1);
-         test = runtime_error_ne (b1, a1, B_ERROR(1));
+         test = runtime_error_ne (b1, a1, B_ERROR_1);
          *next_code_point = test;
          next_code_point = &test->next;

@@ -4535,13 +4538,13 @@
            {
              c1 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 1);
              a2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 2);
-             test = runtime_error_ne (c1, a2, C_ERROR(1));
+             test = runtime_error_ne (c1, a2, C_ERROR_1);
              *next_code_point = test;
              next_code_point = &test->next;

              c2 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 2);
              b2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 2);
-             test = runtime_error_ne (c2, b2, C_ERROR(2));
+             test = runtime_error_ne (c2, b2, C_ERROR_2);
              *next_code_point = test;
              next_code_point = &test->next;
            }
@@ -4550,7 +4553,7 @@
        case A2TB2T:
          b2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 2);
          a1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 1);
-         test = runtime_error_ne (b2, a1, B_ERROR(1));
+         test = runtime_error_ne (b2, a1, B_ERROR_1);
          *next_code_point = test;
          next_code_point = &test->next;

@@ -4558,13 +4561,13 @@
            {
              c1 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 1);
              a2 = get_array_inq_function (GFC_ISYM_SIZE, matrix_a, 2);
-             test = runtime_error_ne (c1, a2, C_ERROR(1));
+             test = runtime_error_ne (c1, a2, C_ERROR_1);
              *next_code_point = test;
              next_code_point = &test->next;

              c2 = get_array_inq_function (GFC_ISYM_SIZE, expr1, 2);
              b1 = get_array_inq_function (GFC_ISYM_SIZE, matrix_b, 1);
-             test = runtime_error_ne (c2, b1, C_ERROR(2));
+             test = runtime_error_ne (c2, b1, C_ERROR_2);
              *next_code_point = test;
              next_code_point = &test->next;
            }

Reply via email to