@@ -256,6 +256,8 @@ def fixture_global_variable_analysis_code(tmp_path):
256256 integer, parameter :: nval = 5
257257 integer, parameter :: nfld = 3
258258
259+ integer :: n
260+
259261 integer :: iarr(nfld)
260262 real :: rarr(nval, nfld)
261263end module global_var_analysis_header_mod
@@ -297,10 +299,11 @@ def fixture_global_variable_analysis_code(tmp_path):
297299
298300contains
299301 subroutine kernel_a(arg, tt)
300- use global_var_analysis_header_mod, only: iarr, nval, nfld
302+ use global_var_analysis_header_mod, only: iarr, nval, nfld, n
301303
302304 real, intent(inout) :: arg(:,:)
303305 type(some_type), intent(in) :: tt
306+ real :: tmp(n)
304307 integer :: i, j
305308
306309 do i=1,nfld
@@ -390,7 +393,7 @@ def test_global_variable_analysis(frontend, key, config, global_variable_analysi
390393
391394 expected_trafo_data = {
392395 'global_var_analysis_header_mod' : {
393- 'declares' : {f'iarr({ nfld_dim } )' , f'rarr({ nval_dim } , { nfld_dim } )' },
396+ 'declares' : {f'iarr({ nfld_dim } )' , f'rarr({ nval_dim } , { nfld_dim } )' , 'n' },
394397 'offload' : {}
395398 },
396399 'global_var_analysis_data_mod' : {
@@ -402,6 +405,7 @@ def test_global_variable_analysis(frontend, key, config, global_variable_analysi
402405 'defines_symbols' : set (),
403406 'uses_symbols' : nval_data | nfld_data | {
404407 (f'iarr({ nfld_dim } )' , 'global_var_analysis_header_mod' ),
408+ ('n' , 'global_var_analysis_header_mod' ),
405409 (f'rarr({ nval_dim } , { nfld_dim } )' , 'global_var_analysis_header_mod' )
406410 }
407411 },
@@ -416,6 +420,7 @@ def test_global_variable_analysis(frontend, key, config, global_variable_analysi
416420 'defines_symbols' : {('rdata(:, :, :)' , 'global_var_analysis_data_mod' )},
417421 'uses_symbols' : nval_data | nfld_data | {
418422 ('rdata(:, :, :)' , 'global_var_analysis_data_mod' ),
423+ ('n' , 'global_var_analysis_header_mod' ),
419424 ('tt' , 'global_var_analysis_data_mod' ), ('tt%vals' , 'global_var_analysis_data_mod' ),
420425 (f'iarr({ nfld_dim } )' , 'global_var_analysis_header_mod' ),
421426 (f'rarr({ nval_dim } , { nfld_dim } )' , 'global_var_analysis_header_mod' )
@@ -465,8 +470,8 @@ def test_global_variable_offload(frontend, key, config, global_variable_analysis
465470
466471 expected_trafo_data = {
467472 'global_var_analysis_header_mod' : {
468- 'declares' : {f'iarr({ nfld_dim } )' , f'rarr({ nval_dim } , { nfld_dim } )' },
469- 'offload' : {f'iarr({ nfld_dim } )' , f'rarr({ nval_dim } , { nfld_dim } )' }
473+ 'declares' : {f'iarr({ nfld_dim } )' , f'rarr({ nval_dim } , { nfld_dim } )' , 'n' },
474+ 'offload' : {f'iarr({ nfld_dim } )' , f'rarr({ nval_dim } , { nfld_dim } )' , 'n' }
470475 },
471476 'global_var_analysis_data_mod' : {
472477 'declares' : {'rdata(:, :, :)' , 'tt' },
@@ -486,7 +491,7 @@ def test_global_variable_offload(frontend, key, config, global_variable_analysis
486491
487492 # Verify imports have been added to the driver
488493 expected_imports = {
489- 'global_var_analysis_header_mod' : {'iarr' , 'rarr' },
494+ 'global_var_analysis_header_mod' : {'iarr' , 'rarr' , 'n' },
490495 'global_var_analysis_data_mod' : {'rdata' }
491496 }
492497
@@ -495,7 +500,7 @@ def test_global_variable_offload(frontend, key, config, global_variable_analysis
495500 assert {var .name .lower () for var in import_ .symbols } == expected_imports [import_ .module .lower ()]
496501
497502 expected_h2d_pragmas = {
498- 'update device' : {'iarr' , 'rdata' , 'rarr' },
503+ 'update device' : {'iarr' , 'rdata' , 'rarr' , 'n' },
499504 'enter data copyin' : {'tt%vals' }
500505 }
501506 expected_d2h_pragmas = {
@@ -515,7 +520,7 @@ def test_global_variable_offload(frontend, key, config, global_variable_analysis
515520
516521 # Verify declarations have been added to the header modules
517522 expected_declarations = {
518- 'global_var_analysis_header_mod' : {'iarr' , 'rarr' },
523+ 'global_var_analysis_header_mod' : {'iarr' , 'rarr' , 'n' },
519524 'global_var_analysis_data_mod' : {'rdata' , 'tt' }
520525 }
521526
0 commit comments