@@ -22,9 +22,9 @@ module test_linalg_schur
22
22
allocate(tests(0))
23
23
24
24
#:for rk,rt,ri in RC_KINDS_TYPES
25
- tests = [ tests,new_unittest("schur_api_${ri}$",test_schur_api_${ri}$), &
26
- new_unittest("schur_random_${ri}$",test_schur_random_${ri}$), &
27
- new_unittest("schur_symmetric_${ri}$",test_schur_symmetric_${ri}$)]
25
+ call add_test( tests,new_unittest("schur_api_${ri}$",test_schur_api_${ri}$))
26
+ call add_test(tests, new_unittest("schur_random_${ri}$",test_schur_random_${ri}$))
27
+ call add_test(tests, new_unittest("schur_symmetric_${ri}$",test_schur_symmetric_${ri}$))
28
28
#:endfor
29
29
30
30
end subroutine test_schur_decomposition
@@ -205,9 +205,29 @@ module test_linalg_schur
205
205
206
206
end subroutine test_schur_symmetric_${ri}$
207
207
208
-
209
208
#:endfor
210
209
210
+ ! gcc-15 bugfix utility
211
+ pure subroutine add_test(tests,new_test)
212
+ type(unittest_type), allocatable, intent(inout) :: tests(:)
213
+ type(unittest_type), intent(in) :: new_test
214
+
215
+ integer :: n
216
+ type(unittest_type), allocatable :: new_tests(:)
217
+
218
+ if (allocated(tests)) then
219
+ n = size(tests)
220
+ else
221
+ n = 0
222
+ end if
223
+
224
+ allocate(new_tests(n+1))
225
+ if (n>0) new_tests(1:n) = tests(1:n)
226
+ new_tests(1+n) = new_test
227
+ call move_alloc(from=new_tests,to=tests)
228
+
229
+ end subroutine add_test
230
+
211
231
end module test_linalg_schur
212
232
213
233
program test_schur
0 commit comments