1! { dg-do compile } 2! { dg-options "-std=f2003" } 3! 4! PR fortran/33197 5! PR fortran/40728 6! 7! Complex inverse trigonometric functions 8! and complex inverse hyperbolic functions 9! 10! Argument type check 11! 12 13PROGRAM ArcTrigHyp 14 IMPLICIT NONE 15 real(4), volatile :: r4 16 real(8), volatile :: r8 17 complex(4), volatile :: z4 18 complex(8), volatile :: z8 19 20 r4 = 0.0_4 21 r8 = 0.0_8 22 z4 = cmplx(0.0_4, 0.0_4, kind=4) 23 z8 = cmplx(0.0_8, 0.0_8, kind=8) 24 25 r4 = asin(r4) 26 r8 = asin(r8) 27 r4 = acos(r4) 28 r8 = acos(r8) 29 r4 = atan(r4) 30 r8 = atan(r8) 31 32! a(sin,cos,tan)h cannot be checked as they are not part of 33! Fortran 2003 - not even for real arguments 34 35 z4 = asin(z4) ! { dg-error "Fortran 2008: COMPLEX argument" } 36 z8 = asin(z8) ! { dg-error "Fortran 2008: COMPLEX argument" } 37 z4 = acos(z4) ! { dg-error "Fortran 2008: COMPLEX argument" } 38 z8 = acos(z8) ! { dg-error "Fortran 2008: COMPLEX argument" } 39 z4 = atan(z4) ! { dg-error "Fortran 2008: COMPLEX argument" } 40 z8 = atan(z8) ! { dg-error "Fortran 2008: COMPLEX argument" } 41END PROGRAM ArcTrigHyp 42