22 lines · plain
1! RUN: %python %S/test_folding.py %s %flang_fc12! Tests folding of BTEST3module m14 integer, parameter :: ia1(*) = [(j, j=0, 15)]5 logical, parameter :: test_ia1a = all(btest(ia1, 0) .eqv. [(.false., .true., j=1, 8)])6 logical, parameter :: test_ia1b = all(btest(ia1, 1) .eqv. [(.false., .false., .true., .true., j=1, 4)])7 logical, parameter :: test_ia1c = all(btest(ia1, 2) .eqv. [(modulo(j/4, 2) == 1, j=0, 15)])8 logical, parameter :: test_ia1d = all(btest(ia1, 3) .eqv. [(j > 8, j=1, 16)])9 logical, parameter :: test_shft1 = all([(btest(ishft(1_1, j), j), j=0, 7)])10 logical, parameter :: test_shft2 = all([(btest(ishft(1_2, j), j), j=0, 15)])11 logical, parameter :: test_shft4 = all([(btest(ishft(1_4, j), j), j=0, 31)])12 logical, parameter :: test_shft8 = all([(btest(ishft(1_8, j), j), j=0, 63)])13 logical, parameter :: test_shft16 = all([(btest(ishft(1_16, j), j), j=0, 127)])14 logical, parameter :: test_set1 = all([(btest(ibset(0_1, j), j), j=0, 7)])15 logical, parameter :: test_set2 = all([(btest(ibset(0_2, j), j), j=0, 15)])16 logical, parameter :: test_set4 = all([(btest(ibset(0_4, j), j), j=0, 31)])17 logical, parameter :: test_set8 = all([(btest(ibset(0_8, j), j), j=0, 63)])18 logical, parameter :: test_set16 = all([(btest(ibset(0_16, j), j), j=0, 127)])19 logical, parameter :: test_z = .not. any([(btest(0_4, j), j=0, 31)])20 logical, parameter :: test_shft1e = all(btest([(ishft(1_1, j), j=0, 7)], [(j, j=0, 7)]))21end module22