gcc-10 Bug report

Toon Moene toon@moene.org
Sat Oct 5 13:13:00 GMT 2019


On 10/3/19 10:01 PM, Thomas Koenig wrote:

> Hi,
> 
>> I am using gcc version 10.0.0 20190825 (experimental) . During the 
>> Lapack compilation I got the following errors:

I had the nagging feeling that this error analysis might not be correct.

> If you use a slightly newer version, the error message will become
> clearer:
> 
> sbdsvdx.f:777:39:
> 
>    420 |          CALL SCOPY( N, D, 1, WORK( IETGK ), 2 )
>        |                              2
> ......
>    777 |          CALL SCOPY( N*2, Z( 1,I ), 1, WORK, 1 )
>        |                                       1
> Fehler: Rank mismatch between actual argument at (1) and actual argument 
> at (2) (scalar and rank-1)
> 
> This is a violation of the Fortran standard by the Lapack code.
> To allow this idiom, you can add the -fallow-argument-mismatch
> argument to the OPTS variable in make.inc before building.

For simplicity I use the wording in the Fortran 77 Standard - I don't 
think subsequent Standards changed this or made it obsolescent.

<QUOTE>
15.9.3.3 Arrays as Dummy Arguments

Within a program unit, the array declarator given for an array provides 
all array declarator information needed for the array in an execution of 
the program unit. The number and size of dimensions in an actual 
argument array declarator may be different from the number and size of 
the dimensions in an associated dummy argument array declarator.

A dummy argument that is an array may be associated with an actual 
argument that is an array, array element, or array element substring.
<UNQUOTE>

Of course, you need to read much more of the F77 Standard to find the 
definitions of all these terms, but I think the last line quoted 
actually *allows* passing WORK( IETGK ) as an actual argument associated 
with an array dummy argument.

Shoot me.

-- 
Toon Moene - e-mail: toon@moene.org - phone: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
At home: http://moene.org/~toon/; weather: http://moene.org/~hirlam/
Progress of GNU Fortran: http://gcc.gnu.org/wiki/GFortran#news



More information about the Gcc mailing list