Skip to content

Commit bc6cad5

Browse files
authored
Merge pull request #26 from dev-zero/bugfix/gcc-10
Fix argument mismatches for implicitly defined functions (gcc-10 compat)
2 parents 249314c + 189c840 commit bc6cad5

35 files changed

+948
-885
lines changed

BLACS/TESTING/CMakeLists.txt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1-
set(FTestObj
1+
set(FTestObj
22
blacstest.f btprim.f tools.f)
33

4+
if ("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10)
5+
set_source_files_properties(blacstest.f PROPERTIES COMPILE_FLAGS "-std=legacy")
6+
endif()
7+
48
add_executable(xFbtest ${FTestObj})
59
target_link_libraries(xFbtest scalapack)
610

7-
set(CTestObj
11+
set(CTestObj
812
Cbt.c)
913

1014
set_property(
@@ -46,4 +50,4 @@ add_test(xFbtest
4650
-DRUNTIMEDIR=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
4751
-DSOURCEDIR=${CMAKE_CURRENT_SOURCE_DIR}
4852
-P ${CMAKE_CURRENT_SOURCE_DIR}/runtest.cmake
49-
)
53+
)

PBLAS/TESTING/CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ set (zpbtcom pzblastst.f dlamch.f ${pbtcom})
1010

1111
set_property(
1212
SOURCE ${PblasErrorHandler}
13-
APPEND PROPERTY COMPILE_DEFINITIONS TestingPblas
13+
APPEND PROPERTY COMPILE_DEFINITIONS TestingPblas
1414
)
1515

1616
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${SCALAPACK_BINARY_DIR}/PBLAS/TESTING)
@@ -74,5 +74,6 @@ add_test(dpb3tst ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 4 ./dpb3tst)
7474
add_test(cpb3tst ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 4 ./cpb3tst)
7575
add_test(zpb3tst ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 4 ./zpb3tst)
7676

77-
78-
77+
if ("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10)
78+
set( CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -std=legacy" ) # local to this directory
79+
endif()

PBLAS/TIMING/CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,5 +74,6 @@ add_test(dpb3tim ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 4 ./dpb3tim)
7474
add_test(cpb3tim ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 4 ./cpb3tim)
7575
add_test(zpb3tim ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 4 ./zpb3tim)
7676

77-
78-
77+
if ("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10)
78+
set( CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -std=legacy" ) # local to this directory
79+
endif()

SRC/pclarf.f

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
242242
$ IOFFV, IPW, IROFF, IVCOL, IVROW, JJC, JJV, LDC,
243243
$ LDV, MYCOL, MYROW, MP, NCC, NCV, NPCOL, NPROW,
244244
$ NQ, RDEST
245-
COMPLEX TAULOC
245+
COMPLEX TAULOC( 1 )
246246
* ..
247247
* .. External Subroutines ..
248248
EXTERNAL BLACS_GRIDINFO, CCOPY, CGEBR2D, CGEBS2D,
@@ -336,7 +336,7 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
336336
*
337337
CALL CGEBS2D( ICTXT, 'Columnwise', ' ', 1, 1,
338338
$ TAU( IIV ), 1 )
339-
TAULOC = TAU( IIV )
339+
TAULOC( 1 ) = TAU( IIV )
340340
*
341341
ELSE
342342
*
@@ -345,7 +345,7 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
345345
*
346346
END IF
347347
*
348-
IF( TAULOC.NE.ZERO ) THEN
348+
IF( TAULOC( 1 ).NE.ZERO ) THEN
349349
*
350350
* w := sub( C )' * v
351351
*
@@ -363,8 +363,8 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
363363
*
364364
* sub( C ) := sub( C ) - v * w'
365365
*
366-
CALL CGERC( MP, NQ, -TAULOC, WORK, 1, WORK( IPW ),
367-
$ 1, C( IOFFC ), LDC )
366+
CALL CGERC( MP, NQ, -TAULOC( 1 ), WORK, 1,
367+
$ WORK( IPW ), 1, C( IOFFC ), LDC )
368368
END IF
369369
*
370370
END IF
@@ -379,9 +379,9 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
379379
*
380380
IF( MYCOL.EQ.ICCOL ) THEN
381381
*
382-
TAULOC = TAU( JJV )
382+
TAULOC( 1 ) = TAU( JJV )
383383
*
384-
IF( TAULOC.NE.ZERO ) THEN
384+
IF( TAULOC( 1 ).NE.ZERO ) THEN
385385
*
386386
* w := sub( C )' * v
387387
*
@@ -398,7 +398,7 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
398398
*
399399
* sub( C ) := sub( C ) - v * w'
400400
*
401-
CALL CGERC( MP, NQ, -TAULOC, V( IOFFV ), 1,
401+
CALL CGERC( MP, NQ, -TAULOC( 1 ), V( IOFFV ), 1,
402402
$ WORK, 1, C( IOFFC ), LDC )
403403
END IF
404404
*
@@ -421,9 +421,9 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
421421
IPW = MP+1
422422
CALL CGERV2D( ICTXT, IPW, 1, WORK, IPW, MYROW,
423423
$ IVCOL )
424-
TAULOC = WORK( IPW )
424+
TAULOC( 1 ) = WORK( IPW )
425425
*
426-
IF( TAULOC.NE.ZERO ) THEN
426+
IF( TAULOC( 1 ).NE.ZERO ) THEN
427427
*
428428
* w := sub( C )' * v
429429
*
@@ -441,7 +441,7 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
441441
*
442442
* sub( C ) := sub( C ) - v * w'
443443
*
444-
CALL CGERC( MP, NQ, -TAULOC, WORK, 1,
444+
CALL CGERC( MP, NQ, -TAULOC( 1 ), WORK, 1,
445445
$ WORK( IPW ), 1, C( IOFFC ), LDC )
446446
END IF
447447
*
@@ -471,7 +471,7 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
471471
*
472472
CALL CGEBS2D( ICTXT, 'Columnwise', ' ', 1, 1,
473473
$ TAU( IIV ), 1 )
474-
TAULOC = TAU( IIV )
474+
TAULOC( 1 ) = TAU( IIV )
475475
*
476476
ELSE
477477
*
@@ -480,7 +480,7 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
480480
*
481481
END IF
482482
*
483-
IF( TAULOC.NE.ZERO ) THEN
483+
IF( TAULOC( 1 ).NE.ZERO ) THEN
484484
*
485485
* w := sub( C )' * v
486486
*
@@ -500,8 +500,8 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
500500
* sub( C ) := sub( C ) - v * w'
501501
*
502502
IF( IOFFC.GT.0 )
503-
$ CALL CGERC( MP, NQ, -TAULOC, WORK, 1, WORK( IPW ),
504-
$ 1, C( IOFFC ), LDC )
503+
$ CALL CGERC( MP, NQ, -TAULOC( 1 ), WORK, 1,
504+
$ WORK( IPW ), 1, C( IOFFC ), LDC )
505505
END IF
506506
*
507507
ELSE
@@ -516,18 +516,18 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
516516
WORK(IPW) = TAU( JJV )
517517
CALL CGEBS2D( ICTXT, 'Rowwise', ROWBTOP, IPW, 1,
518518
$ WORK, IPW )
519-
TAULOC = TAU( JJV )
519+
TAULOC( 1 ) = TAU( JJV )
520520
*
521521
ELSE
522522
*
523523
IPW = MP+1
524524
CALL CGEBR2D( ICTXT, 'Rowwise', ROWBTOP, IPW, 1, WORK,
525525
$ IPW, MYROW, IVCOL )
526-
TAULOC = WORK( IPW )
526+
TAULOC( 1 ) = WORK( IPW )
527527
*
528528
END IF
529529
*
530-
IF( TAULOC.NE.ZERO ) THEN
530+
IF( TAULOC( 1 ).NE.ZERO ) THEN
531531
*
532532
* w := sub( C )' * v
533533
*
@@ -547,8 +547,8 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
547547
* sub( C ) := sub( C ) - v * w'
548548
*
549549
IF( IOFFC.GT.0 )
550-
$ CALL CGERC( MP, NQ, -TAULOC, WORK, 1, WORK( IPW ),
551-
$ 1, C( IOFFC ), LDC )
550+
$ CALL CGERC( MP, NQ, -TAULOC( 1 ), WORK, 1,
551+
$ WORK( IPW ), 1, C( IOFFC ), LDC )
552552
END IF
553553
*
554554
END IF
@@ -577,9 +577,9 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
577577
*
578578
IF( MYROW.EQ.ICROW ) THEN
579579
*
580-
TAULOC = TAU( IIV )
580+
TAULOC( 1 ) = TAU( IIV )
581581
*
582-
IF( TAULOC.NE.ZERO ) THEN
582+
IF( TAULOC( 1 ).NE.ZERO ) THEN
583583
*
584584
* w := sub( C ) * v
585585
*
@@ -597,7 +597,7 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
597597
* sub( C ) := sub( C ) - w * v'
598598
*
599599
IF( IOFFV.GT.0 .AND. IOFFC.GT.0 )
600-
$ CALL CGERC( MP, NQ, -TAULOC, WORK, 1,
600+
$ CALL CGERC( MP, NQ, -TAULOC( 1 ), WORK, 1,
601601
$ V( IOFFV ), LDV, C( IOFFC ),
602602
$ LDC )
603603
END IF
@@ -621,9 +621,9 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
621621
IPW = NQ+1
622622
CALL CGERV2D( ICTXT, IPW, 1, WORK, IPW, IVROW,
623623
$ MYCOL )
624-
TAULOC = WORK( IPW )
624+
TAULOC( 1 ) = WORK( IPW )
625625
*
626-
IF( TAULOC.NE.ZERO ) THEN
626+
IF( TAULOC( 1 ).NE.ZERO ) THEN
627627
*
628628
* w := sub( C ) * v
629629
*
@@ -641,8 +641,8 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
641641
*
642642
* sub( C ) := sub( C ) - w * v'
643643
*
644-
CALL CGERC( MP, NQ, -TAULOC, WORK( IPW ), 1,
645-
$ WORK, 1, C( IOFFC ), LDC )
644+
CALL CGERC( MP, NQ, -TAULOC( 1 ), WORK( IPW ),
645+
$ 1, WORK, 1, C( IOFFC ), LDC )
646646
END IF
647647
*
648648
END IF
@@ -667,7 +667,7 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
667667
*
668668
CALL CGEBS2D( ICTXT, 'Rowwise', ' ', 1, 1,
669669
$ TAU( JJV ), 1 )
670-
TAULOC = TAU( JJV )
670+
TAULOC( 1 ) = TAU( JJV )
671671
*
672672
ELSE
673673
*
@@ -676,7 +676,7 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
676676
*
677677
END IF
678678
*
679-
IF( TAULOC.NE.ZERO ) THEN
679+
IF( TAULOC( 1 ).NE.ZERO ) THEN
680680
*
681681
* w := sub( C ) * v
682682
*
@@ -694,8 +694,8 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
694694
*
695695
* sub( C ) := sub( C ) - w * v'
696696
*
697-
CALL CGERC( MP, NQ, -TAULOC, WORK( IPW ), 1, WORK,
698-
$ 1, C( IOFFC ), LDC )
697+
CALL CGERC( MP, NQ, -TAULOC( 1 ), WORK( IPW ), 1,
698+
$ WORK, 1, C( IOFFC ), LDC )
699699
END IF
700700
*
701701
END IF
@@ -720,18 +720,18 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
720720
WORK(IPW) = TAU( IIV )
721721
CALL CGEBS2D( ICTXT, 'Columnwise', COLBTOP, IPW, 1,
722722
$ WORK, IPW )
723-
TAULOC = TAU( IIV )
723+
TAULOC( 1 ) = TAU( IIV )
724724
*
725725
ELSE
726726
*
727727
IPW = NQ+1
728728
CALL CGEBR2D( ICTXT, 'Columnwise', COLBTOP, IPW, 1,
729729
$ WORK, IPW, IVROW, MYCOL )
730-
TAULOC = WORK( IPW )
730+
TAULOC( 1 ) = WORK( IPW )
731731
*
732732
END IF
733733
*
734-
IF( TAULOC.NE.ZERO ) THEN
734+
IF( TAULOC( 1 ).NE.ZERO ) THEN
735735
*
736736
* w := sub( C ) * v
737737
*
@@ -750,8 +750,8 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
750750
* sub( C ) := sub( C ) - w * v'
751751
*
752752
IF( IOFFC.GT.0 )
753-
$ CALL CGERC( MP, NQ, -TAULOC, WORK( IPW ), 1, WORK,
754-
$ 1, C( IOFFC ), LDC )
753+
$ CALL CGERC( MP, NQ, -TAULOC( 1 ), WORK( IPW ), 1,
754+
$ WORK, 1, C( IOFFC ), LDC )
755755
END IF
756756
*
757757
ELSE
@@ -770,7 +770,7 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
770770
*
771771
CALL CGEBS2D( ICTXT, 'Rowwise', ' ', 1, 1, TAU( JJV ),
772772
$ 1 )
773-
TAULOC = TAU( JJV )
773+
TAULOC( 1 ) = TAU( JJV )
774774
*
775775
ELSE
776776
*
@@ -779,7 +779,7 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
779779
*
780780
END IF
781781
*
782-
IF( TAULOC.NE.ZERO ) THEN
782+
IF( TAULOC( 1 ).NE.ZERO ) THEN
783783
*
784784
* w := sub( C ) * v
785785
*
@@ -797,8 +797,8 @@ SUBROUTINE PCLARF( SIDE, M, N, V, IV, JV, DESCV, INCV, TAU,
797797
*
798798
* sub( C ) := sub( C ) - w * v'
799799
*
800-
CALL CGERC( MP, NQ, -TAULOC, WORK( IPW ), 1, WORK, 1,
801-
$ C( IOFFC ), LDC )
800+
CALL CGERC( MP, NQ, -TAULOC( 1 ), WORK( IPW ), 1,
801+
$ WORK, 1, C( IOFFC ), LDC )
802802
END IF
803803
*
804804
END IF

0 commit comments

Comments
 (0)