Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/ishft_4.f90 @ 118:fd00160c1b76
ifdef TARGET_64BIT
author | mir3636 |
---|---|
date | Tue, 27 Feb 2018 15:01:35 +0900 |
parents | 04ced10e8804 |
children | 84e7813d76e9 |
line wrap: on
line source
! We want to check that ISHFT evaluates its arguments only once ! ! { dg-do run } ! { dg-options "-fdump-tree-original" } program test if (ishft (foo(), 2) /= 4) call abort if (ishft (foo(), -1) /= 1) call abort if (ishft (1, foo()) /= 8) call abort if (ishft (16, -foo()) /= 1) call abort if (ishftc (bar(), 2) /= 4) call abort if (ishftc (bar(), -1) /= 1) call abort if (ishftc (1, bar()) /= 8) call abort if (ishftc (16, -bar()) /= 1) call abort contains integer function foo () integer, save :: i = 0 i = i + 1 foo = i end function integer function bar () integer, save :: i = 0 i = i + 1 bar = i end function end program ! The regexp "foo ()" should be seen once in the dump: ! -- once in the function definition itself ! -- plus as many times as the function is called ! ! { dg-final { scan-tree-dump-times "foo *\\\(\\\)" 5 "original" } } ! { dg-final { scan-tree-dump-times "bar *\\\(\\\)" 5 "original" } }