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