@@ -22,9 +22,9 @@ module test_linalg_inverse
22
22
allocate(tests(0))
23
23
24
24
#:for rk,rt,ri in RC_KINDS_TYPES
25
- tests = [ tests,new_unittest("${ri}$_eye_inverse",test_${ri}$_eye_inverse), &
26
- new_unittest("${ri}$_singular_inverse",test_${ri}$_singular_inverse), &
27
- new_unittest("${ri}$_random_spd_inverse",test_${ri}$_random_spd_inverse)]
25
+ call add_test( tests,new_unittest("${ri}$_eye_inverse",test_${ri}$_eye_inverse))
26
+ call add_test(tests, new_unittest("${ri}$_singular_inverse",test_${ri}$_singular_inverse))
27
+ call add_test(tests, new_unittest("${ri}$_random_spd_inverse",test_${ri}$_random_spd_inverse))
28
28
#:endfor
29
29
30
30
end subroutine test_inverse_matrix
@@ -291,6 +291,27 @@ module test_linalg_inverse
291
291
292
292
#:endfor
293
293
294
+ ! gcc-15 bugfix utility
295
+ pure subroutine add_test(tests,new_test)
296
+ type(unittest_type), allocatable, intent(inout) :: tests(:)
297
+ type(unittest_type), intent(in) :: new_test
298
+
299
+ integer :: n
300
+ type(unittest_type), allocatable :: new_tests(:)
301
+
302
+ if (allocated(tests)) then
303
+ n = size(tests)
304
+ else
305
+ n = 0
306
+ end if
307
+
308
+ allocate(new_tests(n+1))
309
+ if (n>0) new_tests(1:n) = tests(1:n)
310
+ new_tests(1+n) = new_test
311
+ call move_alloc(from=new_tests,to=tests)
312
+
313
+ end subroutine add_test
314
+
294
315
end module test_linalg_inverse
295
316
296
317
program test_inv
0 commit comments