xref: /llvm-project/flang/test/Semantics/generic04.f90 (revision 2d528fd7d7f6a84e50edb1a9ea3822b4edeb3e01)
1*2d528fd7SPeter Klausler! RUN: %python %S/test_errors.py %s %flang_fc1
2*2d528fd7SPeter Klausler! Warn about inaccessible specific procedures in a generic defined operator
3*2d528fd7SPeter Klauslermodule m
4*2d528fd7SPeter Klausler  interface operator (.foo.)
5*2d528fd7SPeter Klausler    !WARN: OPERATOR(.foo.) function 'noargs' must have 1 or 2 dummy arguments
6*2d528fd7SPeter Klausler    module procedure noargs
7*2d528fd7SPeter Klausler    !WARN: OPERATOR(.foo.) function 'noargs' must have 1 or 2 dummy arguments
8*2d528fd7SPeter Klausler    module procedure threeargs
9*2d528fd7SPeter Klausler  end interface
10*2d528fd7SPeter Klausler  type t
11*2d528fd7SPeter Klausler   contains
12*2d528fd7SPeter Klausler    procedure :: bad
13*2d528fd7SPeter Klausler    !WARN: OPERATOR(.bar.) function 'bad' should have 1 or 2 dummy arguments
14*2d528fd7SPeter Klausler    generic :: operator (.bar.) => bad
15*2d528fd7SPeter Klausler  end type
16*2d528fd7SPeter Klausler contains
17*2d528fd7SPeter Klausler  real function noargs()
18*2d528fd7SPeter Klausler    noargs = 0.
19*2d528fd7SPeter Klausler  end
20*2d528fd7SPeter Klausler  real function threeargs(fee,fie,foe)
21*2d528fd7SPeter Klausler    real, intent(in) :: fee, fie, foe
22*2d528fd7SPeter Klausler  end
23*2d528fd7SPeter Klausler  function bad(this,x,y)
24*2d528fd7SPeter Klausler    type(t) :: bad
25*2d528fd7SPeter Klausler    class(t), intent(in) :: this, x, y
26*2d528fd7SPeter Klausler    bad = x
27*2d528fd7SPeter Klausler  end
28*2d528fd7SPeter Klauslerend
29