Re: gcc-10 Bug report

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: gcc-10 Bug report

Thomas Koenig-6
Hi,

> I am using gcc version 10.0.0 20190825 (experimental) . During the
> Lapack compilation I got the following errors:
>
> ============================================================
>
> sbdsvdx.f:777:39:
>
>    777 |          CALL SCOPY( N*2, Z( 1,I ), 1, WORK, 1 )
>        |                                       1
> Error: Rank mismatch in argument ‘_formal_18’ at (1) (scalar and rank-1)
>
>
> sgbsvx.f:585:48:
>
>    585 |       RPVGRW = SLANTB( 'M', 'U', 'N', N, KL+KU, AFB, LDAFB, WORK )
>        |                                                1
> Error: Rank mismatch in argument ‘_formal_47’ at (1) (scalar and rank-2)

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.

Probably time to submit a bug report to the Lapack developers.
Reply | Threaded
Open this post in threaded view
|

Re: gcc-10 Bug report

Jeff Law
On 10/3/19 2: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:
>>
>> ============================================================
>>
>> sbdsvdx.f:777:39:
>>
>>    777 |          CALL SCOPY( N*2, Z( 1,I ), 1, WORK, 1 )
>>        |                                       1
>> Error: Rank mismatch in argument ‘_formal_18’ at (1) (scalar and rank-1)
>>
>>
>> sgbsvx.f:585:48:
>>
>>    585 |       RPVGRW = SLANTB( 'M', 'U', 'N', N, KL+KU, AFB, LDAFB,
>> WORK )
>>        |                                                1
>> Error: Rank mismatch in argument ‘_formal_47’ at (1) (scalar and rank-2)
>
> 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.
>
> Probably time to submit a bug report to the Lapack developers.
FWIW this is the single most common failure I've seen building Fedora
packages with gcc-10.  lapack is not alone here :(

Jeff