xref: /llvm-project/flang/test/Preprocessing/not-an-exponent.F90 (revision bb23ac65a1e25747231a10240e78c7ce336602bf)
1*bb23ac65SPeter Klausler!RUN: %flang_fc1 -fdebug-unparse %s 2>&1 | FileCheck %s
2*bb23ac65SPeter Klausler#define e eeeee
3*bb23ac65SPeter Klauslermodule m
4*bb23ac65SPeter Klausler  interface operator(.e.)
5*bb23ac65SPeter Klausler     module procedure ir,rr
6*bb23ac65SPeter Klausler  end interface operator(.e.)
7*bb23ac65SPeter Klauslercontains
8*bb23ac65SPeter Klausler  function ir(k1,k2)
9*bb23ac65SPeter Klausler    intent(in)::k1,k2
10*bb23ac65SPeter Klausler    ir=k1+k2
11*bb23ac65SPeter Klausler  end function ir
12*bb23ac65SPeter Klausler  function rr(k1,k2)
13*bb23ac65SPeter Klausler    real,intent(in)::k1,k2
14*bb23ac65SPeter Klausler    rr=k1+k2
15*bb23ac65SPeter Klausler  end function rr
16*bb23ac65SPeter Klauslerend module m
17*bb23ac65SPeter Klauslerprogram main
18*bb23ac65SPeter Klausler  use m
19*bb23ac65SPeter Klausler!CHECK: IF (real((ir(1_4,5_4)),kind=4)/=6._4) ERROR STOP 1_4
20*bb23ac65SPeter Klausler!CHECK: IF ((rr(1._4,5.e-1_4))/=1.5_4) ERROR STOP 2_4
21*bb23ac65SPeter Klausler  if((1.e.5)/=6.e0) error stop 1
22*bb23ac65SPeter Klausler  if((1..e..5)/=1.5) error stop 2
23*bb23ac65SPeter Klausler  print *,'pass'
24*bb23ac65SPeter Klauslerend program main
25