1316485Sdavidcs! { dg-do run } 2316485Sdavidcs! { dg-options "-O -fdump-tree-original" } 3316485Sdavidcs 4316485Sdavidcs if (foo ('E') .ne. 1) call abort 5316485Sdavidcs if (foo ('e') .ne. 1) call abort 6316485Sdavidcs if (foo ('f') .ne. 2) call abort 7316485Sdavidcs if (foo ('g') .ne. 2) call abort 8316485Sdavidcs if (foo ('h') .ne. 2) call abort 9316485Sdavidcs if (foo ('Q') .ne. 3) call abort 10316485Sdavidcs if (foo (' ') .ne. 4) call abort 11316485Sdavidcs if (bar ('e') .ne. 1) call abort 12316485Sdavidcs if (bar ('f') .ne. 3) call abort 13316485Sdavidcscontains 14316485Sdavidcs function foo (c) 15316485Sdavidcs character :: c 16316485Sdavidcs integer :: foo 17316485Sdavidcs select case (c) 18316485Sdavidcs case ('E','e') 19316485Sdavidcs foo = 1 20316485Sdavidcs case ('f':'h ') 21316485Sdavidcs foo = 2 22316485Sdavidcs case default 23316485Sdavidcs foo = 3 24316485Sdavidcs case ('') 25316485Sdavidcs foo = 4 26316485Sdavidcs end select 27316485Sdavidcs end function 28316485Sdavidcs function bar (c) 29316485Sdavidcs character :: c 30316485Sdavidcs integer :: bar 31316485Sdavidcs select case (c) 32316485Sdavidcs case ('ea':'ez') 33316485Sdavidcs bar = 2 34316485Sdavidcs case ('e') 35316485Sdavidcs bar = 1 36316485Sdavidcs case default 37316485Sdavidcs bar = 3 38316485Sdavidcs case ('fd') 39316485Sdavidcs bar = 4 40316485Sdavidcs end select 41316485Sdavidcs end function 42316485Sdavidcsend 43316485Sdavidcs 44316485Sdavidcs! { dg-final { scan-tree-dump-not "_gfortran_select_string" "original" } } 45316485Sdavidcs! { dg-final { cleanup-tree-dump "original" } } 46316485Sdavidcs