Skip to content

Commit ec64934

Browse files
committed
refac(string_test): reorg/narrow GCC workaround
This commit 1. Reorganizes the block of test code that contains a gfortran workaround in a way that priorities readability over avoiding code duplication and 2. Uses the GCC_VERSION preprocessor macro to apply the workaround only for GCC versions below 15.1.
1 parent 2cc1784 commit ec64934

1 file changed

Lines changed: 16 additions & 12 deletions

File tree

test/modules/string_test_m.F90

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -571,23 +571,27 @@ function brackets_strings() result(test_diagnosis)
571571

572572
associate(scalar => string_t("do re mi"))
573573

574-
#ifndef __GFORTRAN__
574+
#if (! defined(__GFORTRAN__)) || GCC_VERSION > 150000
575575
associate(array => string_t(["do", "re", "mi"]))
576+
test_diagnosis = test_diagnosis_t( &
577+
test_passed = scalar%bracket() == string_t("[do re mi]") &
578+
.and. all(array%bracket() == [string_t("[do]"), string_t("[re]"), string_t("[mi]")]) &
579+
.and. all(array%bracket('"') == [string_t('"do"'), string_t('"re"'), string_t('"mi"')]) &
580+
.and. all(array%bracket("{","}") == [string_t('{do}'), string_t('{re}'), string_t('{mi}')]) &
581+
,diagnostics_string = "" &
582+
)
583+
end associate
576584
#else
577585
block
578586
type(string_t), allocatable :: array(:)
579587
array = string_t(["do", "re", "mi"])
580-
#endif
581-
test_diagnosis = test_diagnosis_t( &
582-
test_passed = scalar%bracket() == string_t("[do re mi]") &
583-
.and. all(array%bracket() == [string_t("[do]"), string_t("[re]"), string_t("[mi]")]) &
584-
.and. all(array%bracket('"') == [string_t('"do"'), string_t('"re"'), string_t('"mi"')]) &
585-
.and. all(array%bracket("{","}") == [string_t('{do}'), string_t('{re}'), string_t('{mi}')]) &
586-
,diagnostics_string = "" &
587-
)
588-
#ifndef __GFORTRAN__
589-
end associate
590-
#else
588+
test_diagnosis = test_diagnosis_t( &
589+
test_passed = scalar%bracket() == string_t("[do re mi]") &
590+
.and. all(array%bracket() == [string_t("[do]"), string_t("[re]"), string_t("[mi]")]) &
591+
.and. all(array%bracket('"') == [string_t('"do"'), string_t('"re"'), string_t('"mi"')]) &
592+
.and. all(array%bracket("{","}") == [string_t('{do}'), string_t('{re}'), string_t('{mi}')]) &
593+
,diagnostics_string = "" &
594+
)
591595
end block
592596
#endif
593597
end associate

0 commit comments

Comments
 (0)