@@ -21,17 +21,17 @@ module test_linalg_eigenvalues
21
21
allocate(tests(0))
22
22
23
23
#: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}$))
29
29
#: endfor
30
30
31
31
#: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}$))
35
35
#: endfor
36
36
37
37
end subroutine test_eig_eigh
@@ -347,8 +347,26 @@ module test_linalg_eigenvalues
347
347
348
348
#:endfor
349
349
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
352
370
353
371
end module test_linalg_eigenvalues
354
372
0 commit comments