Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/function_optimize_10.f90 @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
! { dg-do run } ! PR 51858 - this used to generate wrong code. ! Original test case by Don Simons. program main implicit none logical :: test1_ok logical :: test2_ok logical :: test3_ok character(len=1):: charq charq = 'c' test1_ok = .true. test2_ok = .false. if (charq .eq. ' ') then test1_ok = .false. else if ((my_ichar(charq).ge.97 .and. my_ichar(charq).le.103)) then test2_OK = .true. end if if ((.not. test1_ok) .or. (.not. test2_ok)) STOP 1 test1_ok = .true. test2_ok = .true. test3_ok = .false. if (charq .eq. ' ') then test1_ok = .false. else if ((my_ichar(charq).lt.97 .or. my_ichar(charq).gt.103)) then test2_ok = .false. else if ((my_ichar(charq).ge.97 .and. my_ichar(charq).le.103)) then test3_ok = .true. end if if ((.not. test1_ok) .or. (.not. test2_ok) .or. (.not. test3_ok)) STOP 2 test1_ok = .true. test2_ok = .true. test3_ok = .false. if (charq .eq. ' ') then test1_ok = .false. else if ((my_ichar(charq).lt.97 .or. my_ichar(charq).gt.103)) then test2_ok = .false. else test3_ok = .true. end if if ((.not. test1_ok) .or. (.not. test2_ok) .or. (.not. test3_ok)) STOP 3 contains pure function my_ichar(c) integer :: my_ichar character(len=1), intent(in) :: c my_ichar = ichar(c) end function my_ichar end program main