| ! { dg-do run } |
| ! { dg-options "-O -fdump-tree-original" } |
| |
| if (foo ('E') .ne. 1) STOP 1 |
| if (foo ('e') .ne. 1) STOP 2 |
| if (foo ('f') .ne. 2) STOP 3 |
| if (foo ('g') .ne. 2) STOP 4 |
| if (foo ('h') .ne. 2) STOP 5 |
| if (foo ('Q') .ne. 3) STOP 6 |
| if (foo (' ') .ne. 4) STOP 7 |
| if (bar ('e') .ne. 1) STOP 8 |
| if (bar ('f') .ne. 3) STOP 9 |
| contains |
| function foo (c) |
| character :: c |
| integer :: foo |
| select case (c) |
| case ('E','e') |
| foo = 1 |
| case ('f':'h ') |
| foo = 2 |
| case default |
| foo = 3 |
| case ('') |
| foo = 4 |
| end select |
| end function |
| function bar (c) |
| character :: c |
| integer :: bar |
| select case (c) |
| case ('ea':'ez') |
| bar = 2 |
| case ('e') |
| bar = 1 |
| case default |
| bar = 3 |
| case ('fd') |
| bar = 4 |
| end select |
| end function |
| end |
| |
| ! { dg-final { scan-tree-dump-not "_gfortran_select_string" "original" } } |