Fix external declarations#1279
Open
ACSimon33 wants to merge 7 commits into
Open
Conversation
Co-authored-by: Copilot <copilot@github.com>
There was a problem hiding this comment.
Pull request overview
This pull request updates Fortran EXTERNAL declarations across LAPACK core sources and the test suite to ensure all referenced subroutines/functions are correctly declared (and unused/incorrect declarations are removed), which is required for the Index-64 extended API generation introduced in #1276.
Changes:
- Add missing
EXTERNALdeclarations for routines that are referenced (so the Index-64 name-rewriter can reliably detect and transform them). - Remove unused/incorrect
EXTERNALdeclarations that are no longer referenced. - Normalize and reflow
EXTERNALlists (especially in fixed-form sources) to keep declarations accurate and consistent.
Reviewed changes
Copilot reviewed 236 out of 236 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| TESTING/LIN/zunhr_col02.f | Fix EXTERNAL subroutine list to match actual dependencies. |
| TESTING/LIN/ztsqr01.f | Correct external function/subroutine declarations for TSQR tests. |
| TESTING/LIN/zsyt01_aa.f | Update externals for AA factorization test helper. |
| TESTING/LIN/zqrt05.f | Add missing external subroutine declarations; remove unused externals. |
| TESTING/LIN/zqrt04.f | Add missing external subroutine declarations; remove unused externals. |
| TESTING/LIN/zpot06.f | Remove unused LSAME external declaration. |
| TESTING/LIN/zlqt05.f | Add external subroutines needed by LQT tests; trim externals. |
| TESTING/LIN/zlqt04.f | Add external subroutines needed by LQT tests; trim externals. |
| TESTING/LIN/zhet01_aa.f | Update externals for Hermitian AA test helper. |
| TESTING/LIN/zerrvx.f | Extend externals list to include AA/2stage routines used in error tests. |
| TESTING/LIN/zerrtsqr.f | Add missing TSQR-related externals. |
| TESTING/LIN/zerrsy.f | Add missing AA/2stage symmetric routines to externals. |
| TESTING/LIN/zdrvsy_rook.f | Remove unused externals from rook pivoting driver. |
| TESTING/LIN/zdrvsy_aa.f | Remove unused externals from AA driver; keep only used dependencies. |
| TESTING/LIN/zdrvsy_aa_2stage.f | Remove unused externals from AA 2stage driver; keep only used dependencies. |
| TESTING/LIN/zdrvrf3.f | Fix incorrect external routine name (use ZGELQF). |
| TESTING/LIN/zdrvls.f | Add missing scaling routine externals used by least-squares driver. |
| TESTING/LIN/zdrvhe_aa.f | Remove unused externals from Hermitian AA driver; keep used dependencies. |
| TESTING/LIN/zdrvhe_aa_2stage.f | Remove unused externals from Hermitian AA 2stage driver; keep used dependencies. |
| TESTING/LIN/zdrvac.f | Add missing ALAHD external used by driver output path. |
| TESTING/LIN/zdrvab.f | Add missing solver external used by the driver. |
| TESTING/LIN/zchktsqr.f | Trim externals list to only used routines for TSQR checker. |
| TESTING/LIN/zchksy_aa_2stage.f | Trim externals list to only used routines for AA 2stage checker. |
| TESTING/LIN/zchkrfp.f | Add missing error-test routine to externals. |
| TESTING/LIN/zchkqrtp.f | Fix externals list to include routines actually invoked. |
| TESTING/LIN/zchkqrt.f | Trim externals list to only used routines. |
| TESTING/LIN/zchklqtp.f | Fix externals list to include routines actually invoked. |
| TESTING/LIN/zchklqt.f | Trim externals list to only used routines. |
| TESTING/LIN/zchkhe.f | Add missing ZHETRS2 external used by Hermitian test path. |
| TESTING/LIN/zchkhe_aa_2stage.f | Add missing externals used by AA 2stage Hermitian checker. |
| TESTING/LIN/zchkaa.F | Add missing top-level test program externals for new checkers/drivers. |
| TESTING/LIN/stsqr01.f | Correct external function/subroutine declarations for TSQR tests. |
| TESTING/LIN/ssyt01_aa.f | Remove unused externals in AA test helper. |
| TESTING/LIN/sqrt05.f | Remove unused LSAME external declaration. |
| TESTING/LIN/sqrt04.f | Remove unused LSAME external declaration. |
| TESTING/LIN/sorhr_col02.f | Fix externals list to match actual dependencies. |
| TESTING/LIN/slqt05.f | Add external subroutines needed by LQT tests; trim externals. |
| TESTING/LIN/slqt04.f | Add external subroutines needed by LQT tests; trim externals. |
| TESTING/LIN/serrtsqr.f | Add missing TSQR-related externals. |
| TESTING/LIN/sdrvsy_rook.f | Remove unused externals from rook pivoting driver. |
| TESTING/LIN/sdrvsy_aa.f | Remove unused externals from AA driver; keep only used dependencies. |
| TESTING/LIN/sdrvsy_aa_2stage.f | Remove unused externals from AA 2stage driver; keep only used dependencies. |
| TESTING/LIN/sdrvrf3.f | Fix incorrect external routine name (use SGELQF). |
| TESTING/LIN/schktsqr.f | Trim externals list to only used routines for TSQR checker. |
| TESTING/LIN/schksy.f | Remove unused externals from symmetric test driver list. |
| TESTING/LIN/schksy_aa_2stage.f | Trim externals list to only used routines for AA 2stage checker. |
| TESTING/LIN/schkrfp.f | Add missing error-test routine to externals. |
| TESTING/LIN/schkqrtp.f | Trim externals list to only used routines. |
| TESTING/LIN/schkqrt.f | Trim externals list to only used routines. |
| TESTING/LIN/schklqtp.f | Trim externals list to only used routines. |
| TESTING/LIN/schklqt.f | Trim externals list to only used routines. |
| TESTING/LIN/schklq.f | Add missing solver external used by LQ test driver. |
| TESTING/LIN/schkaa.F | Add missing top-level test program externals for new checkers/drivers. |
| TESTING/LIN/dtsqr01.f | Correct external function/subroutine declarations for TSQR tests. |
| TESTING/LIN/dsyt01_aa.f | Update externals for AA factorization test helper. |
| TESTING/LIN/dqrt05.f | Add missing external subroutine declarations; remove unused externals. |
| TESTING/LIN/dqrt04.f | Add missing external subroutine declarations; remove unused externals. |
| TESTING/LIN/dorhr_col02.f | Fix externals list to match actual dependencies. |
| TESTING/LIN/dlqt05.f | Add external subroutines needed by LQT tests; trim externals. |
| TESTING/LIN/dlqt04.f | Add external subroutines needed by LQT tests; trim externals. |
| TESTING/LIN/derrtsqr.f | Add missing TSQR-related externals. |
| TESTING/LIN/ddrvsy_rook.f | Remove unused externals from rook pivoting driver. |
| TESTING/LIN/ddrvsy_aa.f | Remove unused externals from AA driver; keep only used dependencies. |
| TESTING/LIN/ddrvsy_aa_2stage.f | Remove unused externals from AA 2stage driver; keep only used dependencies. |
| TESTING/LIN/ddrvrf3.f | Fix incorrect external routine name (use DGELQF). |
| TESTING/LIN/ddrvgbx.f | Remove unused external (DGBEQUB) from driver externals list. |
| TESTING/LIN/ddrvac.f | Add missing ALAHD external; remove unused externals. |
| TESTING/LIN/ddrvab.f | Add missing solver external used by the driver. |
| TESTING/LIN/dchktsqr.f | Trim externals list to only used routines for TSQR checker. |
| TESTING/LIN/dchkrfp.f | Add missing error-test routine to externals. |
| TESTING/LIN/dchkqrtp.f | Fix externals list to include routines actually invoked. |
| TESTING/LIN/dchkqrt.f | Trim externals list to only used routines. |
| TESTING/LIN/dchklqtp.f | Trim externals list to only used routines. |
| TESTING/LIN/dchklqt.f | Trim externals list to only used routines. |
| TESTING/LIN/dchkaa.F | Add missing top-level test program externals for new checkers/drivers. |
| TESTING/LIN/cunhr_col02.f | Fix externals list to match actual dependencies. |
| TESTING/LIN/ctsqr01.f | Correct external function/subroutine declarations for TSQR tests. |
| TESTING/LIN/csyt01_aa.f | Update externals for AA factorization test helper. |
| TESTING/LIN/cqrt05.f | Add missing external subroutine declarations; remove unused externals. |
| TESTING/LIN/cqrt04.f | Add missing external subroutine declarations; remove unused externals. |
| TESTING/LIN/clqt05.f | Add external subroutines needed by LQT tests; trim externals. |
| TESTING/LIN/clqt04.f | Add external subroutines needed by LQT tests; trim externals. |
| TESTING/LIN/chet01_aa.f | Update externals for Hermitian AA test helper. |
| TESTING/LIN/cerrvx.f | Extend externals list to include AA/2stage routines used in error tests. |
| TESTING/LIN/cerrtsqr.f | Add missing TSQR-related externals. |
| TESTING/LIN/cerrsy.f | Add missing AA/2stage symmetric routines to externals. |
| TESTING/LIN/cerrhe.f | Fix incorrect/unused external declarations in Hermitian error test list. |
| TESTING/LIN/cdrvsy_rook.f | Remove unused externals from rook pivoting driver. |
| TESTING/LIN/cdrvsy_aa.f | Remove unused externals from AA driver; keep only used dependencies. |
| TESTING/LIN/cdrvsy_aa_2stage.f | Remove unused externals from AA 2stage driver; keep only used dependencies. |
| TESTING/LIN/cdrvrf3.f | Fix incorrect external routine name (use CGELQF). |
| TESTING/LIN/cdrvls.f | Add missing scaling routine externals used by least-squares driver. |
| TESTING/LIN/cdrvhe_rk.f | Fix externals list to match actual routine usage. |
| TESTING/LIN/cdrvhe_aa.f | Remove unused externals from Hermitian AA driver; keep used dependencies. |
| TESTING/LIN/cdrvhe_aa_2stage.f | Remove unused externals from Hermitian AA 2stage driver; keep used dependencies. |
| TESTING/LIN/cchktsqr.f | Trim externals list to only used routines for TSQR checker. |
| TESTING/LIN/cchksy.f | Add missing CSYTRS2 external used by symmetric checker. |
| TESTING/LIN/cchksy_aa_2stage.f | Trim externals list to only used routines for AA 2stage checker. |
| TESTING/LIN/cchkrfp.f | Add missing error-test routine to externals. |
| TESTING/LIN/cchkqrtp.f | Fix externals list to include routines actually invoked. |
| TESTING/LIN/cchkqrt.f | Trim externals list to only used routines. |
| TESTING/LIN/cchklqtp.f | Fix externals list to include routines actually invoked. |
| TESTING/LIN/cchklqt.f | Trim externals list to only used routines. |
| TESTING/LIN/cchkhe.f | Add missing CHETRS2 external used by Hermitian checker. |
| TESTING/LIN/cchkhe_aa_2stage.f | Add missing externals used by AA 2stage Hermitian checker. |
| TESTING/LIN/cchkaa.F | Add missing top-level test program externals for new checkers/drivers. |
| TESTING/EIG/zerrst.f | Add missing externals for 2stage reduction helper routines. |
| TESTING/EIG/zerrhs.f | Add missing Hessenberg reduction helper external (ZGEHD2). |
| TESTING/EIG/zerred.f | Fix external name for Jacobi SVD error tests (ZGEJSV). |
| TESTING/EIG/zerrec.f | Add missing ZTRSYL3 external for Sylvester solver tests. |
| TESTING/EIG/zdrvst2stg.f | Trim externals list to routines actually called in 2stage driver. |
| TESTING/EIG/zdrgev3.f | Add missing XLAENV external. |
| TESTING/EIG/zdrges3.f | Add missing XLAENV external. |
| TESTING/EIG/zchkhb2stg.f | Add missing BLAS/LAPACK externals used by HB-to-2stage checker. |
| TESTING/EIG/zchkee.F | Update top-level eigen test driver externals list and formatting. |
| TESTING/EIG/zchkdmd.f90 | Adjust externals list for DMD test program; add missing function external. |
| TESTING/EIG/zbdt05.f | Remove unused externals from bidiagonal test helper. |
| TESTING/EIG/ssyt22.f | Add missing test helper external (SORT01). |
| TESTING/EIG/slsets.f | Add missing BLAS copy routine external (SCOPY). |
| TESTING/EIG/sgqrts.f | Add missing routine external (SGGQRF). |
| TESTING/EIG/sglmts.f | Add missing BLAS/LAPACK externals used by GLM tests. |
| TESTING/EIG/sget34.f | Add missing test helper external (SHST01). |
| TESTING/EIG/sdrvst2stg.f | Trim externals list to routines actually called in 2stage driver. |
| TESTING/EIG/sdrvbd.f | Add missing bidiagonal test helper external (SBDT05). |
| TESTING/EIG/sdrgev3.f | Add missing XLAENV external. |
| TESTING/EIG/sdrges3.f | Add missing XLAENV external. |
| TESTING/EIG/schksb2stg.f | Add missing BLAS copy routine external (SCOPY). |
| TESTING/EIG/schkee.F | Update top-level eigen test driver externals list and formatting. |
| TESTING/EIG/schkdmd.f90 | Adjust externals list for DMD test program. |
| TESTING/EIG/schkbd.f | Remove unused external function declaration. |
| TESTING/EIG/sbdt05.f | Remove unused externals from bidiagonal test helper. |
| TESTING/EIG/sbdt04.f | Remove unused externals from bidiagonal test helper. |
| TESTING/EIG/dsyl01.f | Add missing DISNAN external. |
| TESTING/EIG/dget40.f | Fix externals list to match actual routine usage (DGET51). |
| TESTING/EIG/ddrvst2stg.f | Trim externals list to routines actually called in 2stage driver. |
| TESTING/EIG/ddrvbd.f | Add missing bidiagonal test helper external (DBDT05). |
| TESTING/EIG/ddrgev3.f | Add missing XLAENV external. |
| TESTING/EIG/ddrges3.f | Add missing XLAENV external. |
| TESTING/EIG/dchksb2stg.f | Add missing BLAS copy routine external (DCOPY). |
| TESTING/EIG/dchkee.F | Update top-level eigen test driver externals list and formatting. |
| TESTING/EIG/dchkdmd.f90 | Adjust externals list for DMD test program. |
| TESTING/EIG/dchkbd.f | Remove unused external function declaration. |
| TESTING/EIG/dbdt05.f | Remove unused externals from bidiagonal test helper. |
| TESTING/EIG/dbdt04.f | Remove unused externals from bidiagonal test helper. |
| TESTING/EIG/clsets.f | Add missing BLAS copy routine external (CCOPY). |
| TESTING/EIG/chet22.f | Add missing test helper external (CUNT01). |
| TESTING/EIG/cgqrts.f | Add missing routine external (CGGQRF). |
| TESTING/EIG/cglmts.f | Add missing BLAS/LAPACK externals used by GLM tests. |
| TESTING/EIG/cdrgev3.f | Add missing XLAENV external. |
| TESTING/EIG/cdrges3.f | Add missing XLAENV external. |
| TESTING/EIG/cckgsv.f | Add missing CGGSVD3 external used by tests. |
| TESTING/EIG/cchkhb2stg.f | Add missing BLAS copy routine external (SCOPY). |
| TESTING/EIG/cchkee.F | Update top-level eigen test driver externals list and formatting. |
| TESTING/EIG/cchkdmd.f90 | Adjust externals list and line continuations for DMD test program. |
| TESTING/EIG/cbdt05.f | Remove unused externals from bidiagonal test helper. |
| SRC/zunbdb6.f | Add missing DLAMCH external declaration. |
| SRC/zsytrf_aa_2stage.f | Reflow/trim externals list to only used routines. |
| SRC/zsysv_aa.f | Remove unused ILAENV external declaration. |
| SRC/zrscl.f | Fix externals list to match actual scaling routines used. |
| SRC/zlatsqr.f | Remove unused LSAME external declaration. |
| SRC/zlatrs3.f | Add missing ZGEMM external. |
| SRC/zlasyf_aa.f | Remove unused ILAENV external; trim externals list. |
| SRC/zlaswlq.f | Remove unused LSAME external declaration. |
| SRC/zlarft.f | Add missing ZLARFT_LVL2 external. |
| SRC/zlaqr5.f | Reflow/trim externals list to routines actually referenced. |
| SRC/zlahef_aa.f | Remove unused ILAENV external; trim externals list. |
| SRC/zhesv_aa.f | Remove unused ILAENV external declaration. |
| SRC/zhesv_aa_2stage.f | Remove unused ILAENV external declaration. |
| SRC/zhbev_2stage.f | Trim externals list to routines actually referenced. |
| SRC/zgeqr.f | Remove unused LSAME external declaration. |
| SRC/zgelss.f | Add missing ZUNMQR external needed by routine. |
| SRC/zgelq.f | Remove unused LSAME external declaration. |
| SRC/zgeev.f | Add missing DISNAN external and reflow externals list. |
| SRC/zgedmd.f90 | Adjust externals list for DMD implementation. |
| SRC/VARIANTS/cholesky/TOP/zpotrf.f | Trim externals list to routines actually referenced. |
| SRC/VARIANTS/cholesky/TOP/spotrf.f | Trim externals list to routines actually referenced. |
| SRC/VARIANTS/cholesky/TOP/dpotrf.f | Trim externals list to routines actually referenced. |
| SRC/VARIANTS/cholesky/TOP/cpotrf.f | Trim externals list to routines actually referenced. |
| SRC/VARIANTS/cholesky/RL/zpotrf.f | Trim externals list to routines actually referenced. |
| SRC/VARIANTS/cholesky/RL/spotrf.f | Trim externals list to routines actually referenced. |
| SRC/VARIANTS/cholesky/RL/dpotrf.f | Trim externals list to routines actually referenced. |
| SRC/VARIANTS/cholesky/RL/cpotrf.f | Trim externals list to routines actually referenced. |
| SRC/sorbdb6.f | Add missing SLAMCH external declaration. |
| SRC/slatsqr.f | Remove unused LSAME external declaration. |
| SRC/slatrs3.f | Fix externals/functions separation; add missing SGEMM and SROUNDUP_LWORK handling. |
| SRC/slasyf_aa.f | Remove unused ILAENV external; trim externals list. |
| SRC/slaswlq.f | Remove unused LSAME external and trim subroutine externals list. |
| SRC/slarft.f | Add missing SLARFT_LVL2 external. |
| SRC/slaqr5.f | Reflow/trim externals list to routines actually referenced. |
| SRC/slaqr2.f | Reflow externals list formatting without changing behavior. |
| SRC/slapy3.f | Add missing SLAMCH external declaration. |
| SRC/slapy2.f | Add missing SLAMCH external declaration. |
| SRC/sggev3.f | Add missing XERBLA external declaration. |
| SRC/sgeqr.f | Remove unused LSAME external declaration. |
| SRC/sgelq.f | Remove unused LSAME external declaration. |
| SRC/sgeev.f | Add missing SISNAN external declaration. |
| SRC/sgedmdq.f90 | Remove unused external declaration. |
| SRC/ilaenv.f | Remove unused IPARAM2STAGE external declaration. |
| SRC/dsysv_aa.f | Remove unused ILAENV external declaration. |
| SRC/dorgr2.f | Fix externals list to match updated reflector-apply helper (DLARF1L). |
| SRC/dorbdb6.f | Add missing DLAMCH external declaration. |
| SRC/dorbdb4.f | Fix externals list to match updated reflector-apply helper (DLARF1F). |
| SRC/dopmtr.f | Add missing DLARF1L external declaration. |
| SRC/dlatsqr.f | Remove unused LSAME external declaration. |
| SRC/dlatrs3.f | Add missing DGEMM external. |
| SRC/dlasyf_aa.f | Remove unused ILAENV external; trim externals list. |
| SRC/dlaswlq.f | Remove unused LSAME external declaration. |
| SRC/dlarft.f | Add missing DLARFT_LVL2 external. |
| SRC/dlaqr5.f | Reflow/trim externals list to routines actually referenced. |
| SRC/dlapy3.f | Add missing DLAMCH external declaration. |
| SRC/dlapy2.f | Add missing DLAMCH external declaration. |
| SRC/dgeqr.f | Remove unused LSAME external declaration. |
| SRC/dgelq.f | Remove unused LSAME external declaration. |
| SRC/dgeev.f | Add missing DISNAN external and reflow externals list. |
| SRC/dgedmdq.f90 | Remove unused external declaration. |
| SRC/cunbdb6.f | Add missing SLAMCH external declaration. |
| SRC/csysv_aa.f | Remove unused ILAENV external declaration; keep required externals. |
| SRC/crscl.f | Trim externals list to routines actually referenced. |
| SRC/clatsqr.f | Remove unused LSAME external declaration. |
| SRC/clatrs3.f | Add missing CGEMM external. |
| SRC/clasyf_aa.f | Remove unused ILAENV external; trim externals list. |
| SRC/claswlq.f | Remove unused LSAME/ILAENV external declarations. |
| SRC/clarft.f | Add missing CLARFT_LVL2 external. |
| SRC/claqr5.f | Reflow/trim externals list to routines actually referenced. |
| SRC/clahef_rk.f | Update externals list to match use of CGEMMTR. |
| SRC/clahef_aa.f | Remove unused ILAENV external; trim externals list. |
| SRC/chseqr.f | Remove unused SROUNDUP_LWORK external declaration. |
| SRC/chesv_aa.f | Remove unused ILAENV external declaration; keep required externals. |
| SRC/chbev_2stage.f | Trim externals list to routines actually referenced. |
| SRC/cgeqr.f | Remove unused LSAME external declaration. |
| SRC/cgelq.f | Remove unused LSAME external declaration. |
| SRC/cgeev.f | Add missing SISNAN external declaration. |
| SRC/cgedmd.f90 | Adjust externals list for DMD implementation. |
| CBLAS/testing/c_zblat3.f | Add missing CBLAS test driver external (CZ3CHKE). |
| CBLAS/testing/c_dblat2.f | Fix external name to CBLAS wrapper (CDGER). |
| CBLAS/testing/c_cblat3.f | Add missing CBLAS test driver external (CC3CHKE). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR is part of #1276 which introduces
_64suffixed tests for the extended Index-64 API. Those tests exposed a lot of missing external declarations and also unused or wrong external declarations of subroutines and functions. This PR fixes all those external declarations.