! RUN: %python %S/test_errors.py %s %flang_fc1 -pedantic ! C1030 - assignment of pointers to intrinsic procedures ! C1515 - interface definition for procedure pointers ! C1519 - initialization of pointers to intrinsic procedures program main intrinsic :: cos ! a specific & generic intrinsic name intrinsic :: alog10 ! a specific intrinsic name, not generic intrinsic :: null ! a weird special case intrinsic :: bessel_j0 ! generic intrinsic, not specific intrinsic :: amin0 intrinsic :: mod intrinsic :: llt !ERROR: 'haltandcatchfire' is not a known intrinsic procedure intrinsic :: haltandcatchfire abstract interface logical function chrcmp(a,b) character(*), intent(in) :: a character(*), intent(in) :: b end function chrcmp end interface !PORTABILITY: Procedure pointer 'p' should not have an ELEMENTAL intrinsic as its interface procedure(sin), pointer :: p => cos !ERROR: Intrinsic procedure 'amin0' is not an unrestricted specific intrinsic permitted for use as the definition of the interface to procedure pointer 'q' procedure(amin0), pointer :: q !ERROR: Intrinsic procedure 'bessel_j0' is not an unrestricted specific intrinsic permitted for use as the definition of the interface to procedure pointer 'r' procedure(bessel_j0), pointer :: r !ERROR: Intrinsic procedure 'llt' is not an unrestricted specific intrinsic permitted for use as the initializer for procedure pointer 's' procedure(chrcmp), pointer :: s => llt !ERROR: Intrinsic procedure 'bessel_j0' is not an unrestricted specific intrinsic permitted for use as the initializer for procedure pointer 't' !PORTABILITY: Procedure pointer 't' should not have an ELEMENTAL intrinsic as its interface procedure(cos), pointer :: t => bessel_j0 procedure(chrcmp), pointer :: u p => alog ! valid use of an unrestricted specific intrinsic p => alog10 ! ditto, but already declared intrinsic p => cos ! ditto, but also generic p => tan ! a generic & an unrestricted specific, not already declared !ERROR: Function pointer 'p' associated with incompatible function designator 'mod': function results have distinct types: REAL(4) vs INTEGER(4) p => mod !ERROR: Function pointer 'p' associated with incompatible function designator 'index': function results have distinct types: REAL(4) vs INTEGER(4) p => index !ERROR: 'bessel_j0' is not an unrestricted specific intrinsic procedure p => bessel_j0 !ERROR: 'llt' is not an unrestricted specific intrinsic procedure u => llt end program main