diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/count_init_expr.f03')
-rw-r--r-- | gcc/testsuite/gfortran.dg/count_init_expr.f03 | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/count_init_expr.f03 b/gcc/testsuite/gfortran.dg/count_init_expr.f03 new file mode 100644 index 000000000..ad7b74b96 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/count_init_expr.f03 @@ -0,0 +1,15 @@ +! { dg-do run } + + INTEGER :: i + INTEGER, PARAMETER :: m(4,4) = RESHAPE([ (i, i=1, 16) ], [4, 4] ) + INTEGER, PARAMETER :: sevens = COUNT (m == 7) + INTEGER, PARAMETER :: odd(4) = COUNT (MOD(m, 2) == 1, dim=1) + INTEGER, PARAMETER :: even = COUNT (MOD(m, 2) == 0) + + IF (sevens /= 1) CALL abort() + IF (ANY(odd /= [ 2,2,2,2 ])) CALL abort() + IF (even /= 8) CALL abort() + + ! check the kind parameter + IF (KIND(COUNT (m == 7, KIND=2)) /= 2) CALL abort() +END |