@@ -32,16 +32,16 @@ module test_linalg_norm
32
32
allocate(tests(0))
33
33
34
34
#:for rk,rt,ri in RC_KINDS_TYPES
35
- tests = [ tests,new_unittest("strided_1d_norm_${ri}$",test_strided_1d_${ri}$)]
35
+ call add_test( tests,new_unittest("strided_1d_norm_${ri}$",test_strided_1d_${ri}$))
36
36
#:for rank in range(1, MAXRANK)
37
- tests = [ tests,new_unittest("norm_${ri}$_${rank}$d",test_norm_${ri}$_${rank}$d)]
37
+ call add_test( tests,new_unittest("norm_${ri}$_${rank}$d",test_norm_${ri}$_${rank}$d))
38
38
#:endfor
39
39
#:for rank in range(2, MAXRANK)
40
40
#:if rt.startswith('real')
41
- tests = [ tests,new_unittest("norm2_${ri}$_${rank}$d",test_norm2_${ri}$_${rank}$d)]
41
+ call add_test( tests,new_unittest("norm2_${ri}$_${rank}$d",test_norm2_${ri}$_${rank}$d))
42
42
#:endif
43
- tests = [ tests,new_unittest("maxabs_${ri}$_${rank}$d",test_maxabs_${ri}$_${rank}$d)]
44
- tests = [ tests,new_unittest("norm_dimmed_${ri}$_${rank}$d",test_norm_dimmed_${ri}$_${rank}$d)]
43
+ call add_test( tests,new_unittest("maxabs_${ri}$_${rank}$d",test_maxabs_${ri}$_${rank}$d))
44
+ call add_test( tests,new_unittest("norm_dimmed_${ri}$_${rank}$d",test_norm_dimmed_${ri}$_${rank}$d))
45
45
#:endfor
46
46
#:endfor
47
47
@@ -268,6 +268,26 @@ module test_linalg_norm
268
268
#:endfor
269
269
#:endfor
270
270
271
+ ! gcc-15 bugfix utility
272
+ pure subroutine add_test(tests,new_test)
273
+ type(unittest_type), allocatable, intent(inout) :: tests(:)
274
+ type(unittest_type), intent(in) :: new_test
275
+
276
+ integer :: n
277
+ type(unittest_type), allocatable :: new_tests(:)
278
+
279
+ if (allocated(tests)) then
280
+ n = size(tests)
281
+ else
282
+ n = 0
283
+ end if
284
+
285
+ allocate(new_tests(n+1))
286
+ if (n>0) new_tests(1:n) = tests(1:n)
287
+ new_tests(1+n) = new_test
288
+ call move_alloc(from=new_tests,to=tests)
289
+
290
+ end subroutine add_test
271
291
272
292
end module test_linalg_norm
273
293
0 commit comments