[Bug fortran/37802] [4.4 Regression] array descriptors for matmul messed up?

dominiq at lps dot ens dot fr gcc-bugzilla@gcc.gnu.org
Sat Oct 11 10:10:00 GMT 2008



------- Comment #2 from dominiq at lps dot ens dot fr  2008-10-11 10:09 -------
In the original post I wrote:

> Between revisions 140923 and 140951 the following (invalid) code:
> ...
> Since the code is invalid (d = matmul...), gfortran is indeed allowed to do
> whatever is happening, but I'ld like to understand the new behavior
> and be sure that it cannot happen for valid codes.

I suggest to remove the "Regression" keyword, but leave the pr open until the
two questions are answered.

Note 1: I think the error message with -fbounds-check is misleading:

> With -fbounds-check I get the following error with gfortran 4.3 and 4.4:
> 
> Fortran runtime error: Incorrect extent in return array in MATMUL intrinsic for
> dimension 1: is 1, should be 4

The problem is not with MATMUL, but with the assignment to d, so the error
should be something like:

Error: Different shape for array assignment at (1) on dimension 1 (1 and 4)

Note2: the code is coming from pr29572.

Note3: I think the same misleading error message happens for mat-2.f90 in
comment #2 of pr29572, as shown by the following run-time errors:

[ibook-dhum] f90/bug% a.out 
Fortran runtime error: dimension of array B incorrect in MATMUL intrinsic
[ibook-dhum] f90/bug% gfc -fbounds-check pr29572_1.f90
[ibook-dhum] f90/bug% a.out
Fortran runtime error: Incorrect extent in return array in MATMUL intrinsic for
dimension 1: is 1, should be 4

The first message is right and could be improved with something like:

"for dimension 1: is 4, should be 1"


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37802



More information about the Gcc-bugs mailing list