1*fe33374fSPeter Klausler! RUN: %python %S/test_errors.py %s %flang_fc1 2*fe33374fSPeter Klausler! Ensure that an impure bound operator can't be called 3*fe33374fSPeter Klausler! from a pure context. 4*fe33374fSPeter Klauslermodule m 5*fe33374fSPeter Klausler type t 6*fe33374fSPeter Klausler contains 7*fe33374fSPeter Klausler procedure :: binding => func 8*fe33374fSPeter Klausler generic :: operator(.not.) => binding 9*fe33374fSPeter Klausler end type 10*fe33374fSPeter Klausler contains 11*fe33374fSPeter Klausler impure integer function func(x) 12*fe33374fSPeter Klausler class(t), intent(in) :: x 13*fe33374fSPeter Klausler func = 0 14*fe33374fSPeter Klausler end 15*fe33374fSPeter Klausler pure integer function test 16*fe33374fSPeter Klausler !ERROR: Procedure 'func' referenced in pure subprogram 'test' must be pure too 17*fe33374fSPeter Klausler test = .not. t() 18*fe33374fSPeter Klausler end 19*fe33374fSPeter Klauslerend 20