@@ -22,13 +22,13 @@ module test_linalg_solve
22
22
allocate(tests(0))
23
23
24
24
#:for rk,rt,ri in REAL_KINDS_TYPES
25
- tests = [ tests,new_unittest("solve_${ri}$",test_${ri}$_solve), &
26
- new_unittest("solve_${ri}$_multiple",test_${ri}$_solve_multiple)]
25
+ call add_test( tests,new_unittest("solve_${ri}$",test_${ri}$_solve))
26
+ call add_test(tests, new_unittest("solve_${ri}$_multiple",test_${ri}$_solve_multiple))
27
27
#:endfor
28
28
29
29
#:for ck,ct,ci in CMPLX_KINDS_TYPES
30
- tests = [ tests,new_unittest("solve_complex_${ci}$",test_${ci}$_solve), &
31
- new_unittest("solve_2x2_complex_${ci}$",test_2x2_${ci}$_solve)]
30
+ call add_test( tests,new_unittest("solve_complex_${ci}$",test_${ci}$_solve))
31
+ call add_test(tests, new_unittest("solve_2x2_complex_${ci}$",test_2x2_${ci}$_solve))
32
32
#:endfor
33
33
34
34
end subroutine test_linear_systems
@@ -150,7 +150,28 @@ module test_linalg_solve
150
150
151
151
end subroutine test_2x2_${ri}$_solve
152
152
#:endfor
153
-
153
+
154
+ ! gcc-15 bugfix utility
155
+ pure subroutine add_test(tests,new_test)
156
+ type(unittest_type), allocatable, intent(inout) :: tests(:)
157
+ type(unittest_type), intent(in) :: new_test
158
+
159
+ integer :: n
160
+ type(unittest_type), allocatable :: new_tests(:)
161
+
162
+ if (allocated(tests)) then
163
+ n = size(tests)
164
+ else
165
+ n = 0
166
+ end if
167
+
168
+ allocate(new_tests(n+1))
169
+ if (n>0) new_tests(1:n) = tests(1:n)
170
+ new_tests(1+n) = new_test
171
+ call move_alloc(from=new_tests,to=tests)
172
+
173
+ end subroutine add_test
174
+
154
175
end module test_linalg_solve
155
176
156
177
program test_solve
0 commit comments