1LOGICAL :: L = .FALSE.
2
3SELECT CASE (L)
4   CASE (.TRUE.)
5      CALL abort
6   CASE (.FALSE.)
7      CONTINUE
8   CASE DEFAULT
9      CALL abort
10END SELECT
11
12SELECT CASE (L)
13   CASE (.TRUE., .FALSE.)
14      CONTINUE
15   CASE DEFAULT
16      CALL abort
17END SELECT
18
19SELECT CASE (L)
20   CASE (.FALSE.)
21      CONTINUE
22   CASE DEFAULT
23      CALL abort
24END SELECT
25
26SELECT CASE (L)
27   CASE (.NOT. .TRUE.)
28      CONTINUE
29   CASE DEFAULT
30      CALL abort
31END SELECT
32
33SELECT CASE (.NOT. L)
34   CASE (.TRUE.)
35      CONTINUE
36   CASE DEFAULT
37      CALL abort
38END SELECT
39
40SELECT CASE (Truth_or_Dare() .OR. L)
41   CASE (.TRUE.)
42      CONTINUE
43   CASE DEFAULT
44      CALL abort
45END SELECT
46
47CONTAINS
48
49   FUNCTION Truth_or_Dare ()
50      LOGICAL Truth_or_Dare
51      Truth_or_Dare = .TRUE.
52   END FUNCTION
53
54END
55
56