Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit a12c961

Browse files
committed
eigenvalues, cholesky: gcc-15 fix
1 parent 3bb74d6 commit a12c961

File tree

2 files changed

+49
-11
lines changed

2 files changed

+49
-11
lines changed

‎test/linalg/test_linalg_cholesky.fypp

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ module test_linalg_cholesky
2222
allocate(tests(0))
2323

2424
#:for rk,rt,ri in RC_KINDS_TYPES
25-
tests = [tests,new_unittest("least_cholesky_${ri}$",test_cholesky_${ri}$)]
25+
call add_test(tests,new_unittest("least_cholesky_${ri}$",test_cholesky_${ri}$))
2626
#:endfor
2727

2828
end subroutine test_cholesky_factorization
@@ -66,6 +66,26 @@ module test_linalg_cholesky
6666

6767
#:endfor
6868

69+
! gcc-15 bugfix utility
70+
subroutine add_test(tests,new_test)
71+
type(unittest_type), allocatable, intent(inout) :: tests(:)
72+
type(unittest_type), intent(in) :: new_test
73+
74+
integer :: n
75+
type(unittest_type), allocatable :: new_tests(:)
76+
77+
if (allocated(tests)) then
78+
n = size(tests)
79+
else
80+
n = 0
81+
end if
82+
83+
allocate(new_tests(n+1))
84+
if (n>0) new_tests(1:n) = tests(1:n)
85+
new_tests(1+n) = new_test
86+
call move_alloc(from=new_tests,to=tests)
87+
88+
end subroutine add_test
6989

7090
end module test_linalg_cholesky
7191

‎test/linalg/test_linalg_eigenvalues.fypp

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,17 @@ module test_linalg_eigenvalues
2121
allocate(tests(0))
2222

2323
#:for rk,rt,ri in REAL_KINDS_TYPES
24-
tests = [tests,new_unittest("test_eig_real_${ri}$",test_eig_real_${ri}$), &
25-
new_unittest("test_eigvals_identity_${ri}$",test_eigvals_identity_${ri}$), &
26-
new_unittest("test_eigvals_diagonal_B_${ri}$",test_eigvals_diagonal_B_${ri}$), &
27-
new_unittest("test_eigvals_nondiagonal_B_${ri}$",test_eigvals_nondiagonal_B_${ri}$), &
28-
new_unittest("test_eigh_real_${ri}$",test_eigh_real_${ri}$)]
24+
call add_test(tests,new_unittest("test_eig_real_${ri}$",test_eig_real_${ri}$))
25+
call add_test(tests,new_unittest("test_eigvals_identity_${ri}$",test_eigvals_identity_${ri}$))
26+
call add_test(tests,new_unittest("test_eigvals_diagonal_B_${ri}$",test_eigvals_diagonal_B_${ri}$))
27+
call add_test(tests,new_unittest("test_eigvals_nondiagonal_B_${ri}$",test_eigvals_nondiagonal_B_${ri}$))
28+
call add_test(tests,new_unittest("test_eigh_real_${ri}$",test_eigh_real_${ri}$))
2929
#: endfor
3030

3131
#:for ck,ct,ci in CMPLX_KINDS_TYPES
32-
tests = [tests,new_unittest("test_eig_complex_${ci}$",test_eig_complex_${ci}$), &
33-
new_unittest("test_eig_generalized_complex_${ci}$",test_eigvals_generalized_complex_${ci}$), &
34-
new_unittest("test_eig_issue_927_${ci}$",test_issue_927_${ci}$)]
32+
call add_test(tests,new_unittest("test_eig_complex_${ci}$",test_eig_complex_${ci}$))
33+
call add_test(tests,new_unittest("test_eig_generalized_complex_${ci}$",test_eigvals_generalized_complex_${ci}$))
34+
call add_test(tests,new_unittest("test_eig_issue_927_${ci}$",test_issue_927_${ci}$))
3535
#: endfor
3636

3737
end subroutine test_eig_eigh
@@ -347,8 +347,26 @@ module test_linalg_eigenvalues
347347

348348
#:endfor
349349

350-
351-
350+
! gcc-15 bugfix utility
351+
subroutine add_test(tests,new_test)
352+
type(unittest_type), allocatable, intent(inout) :: tests(:)
353+
type(unittest_type), intent(in) :: new_test
354+
355+
integer :: n
356+
type(unittest_type), allocatable :: new_tests(:)
357+
358+
if (allocated(tests)) then
359+
n = size(tests)
360+
else
361+
n = 0
362+
end if
363+
364+
allocate(new_tests(n+1))
365+
if (n>0) new_tests(1:n) = tests(1:n)
366+
new_tests(1+n) = new_test
367+
call move_alloc(from=new_tests,to=tests)
368+
369+
end subroutine add_test
352370

353371
end module test_linalg_eigenvalues
354372

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /