48 lines · plain
1! RUN: %flang_fc1 -fdebug-unparse %s 2>&1 | FileCheck %s2! Tests handling of easily-misparsed substrings and substring3! type parameter inquiries.4subroutine foo(j)5 integer, intent(in) :: j6 character*4 sc, ac(1)7 type t8 character*4 sc, ac(1)9 end type10 type(t) st, at(1)11 !CHECK: PRINT *, sc(1_8:int(j,kind=8))12 print *, sc(1:j)13 !CHECK: PRINT *, ac(1_8)(1_8:int(j,kind=8))14 print *, ac(1)(1:j)15 !CHECK: PRINT *, st%sc(1_8:int(j,kind=8))16 print *, st%sc(1:j)17 !CHECK: PRINT *, st%ac(1_8)(1_8:int(j,kind=8))18 print *, st%ac(1)(1:j)19 !CHECK: PRINT *, at(1_8)%sc(1_8:int(j,kind=8))20 print *, at(1)%sc(1:j)21 !CHECK: PRINT *, at(1_8)%ac(1_8)(1_8:int(j,kind=8))22 print *, at(1)%ac(1)(1:j)23 !CHECK: PRINT *, 1_424 print *, sc(1:j)%kind25 !CHECK: PRINT *, 1_426 print *, ac(1)(1:j)%kind27 !CHECK: PRINT *, 1_428 print *, st%sc(1:j)%kind29 !CHECK: PRINT *, 1_430 print *, st%ac(1)(1:j)%kind31 !CHECK: PRINT *, 1_432 print *, at(1)%sc(1:j)%kind33 !CHECK: PRINT *, 1_434 print *, at(1)%ac(1)(1:j)%kind35 !CHECK: PRINT *, int(max(0_8,int(j,kind=8)-1_8+1_8),kind=4)36 print *, sc(1:j)%len37 !CHECK: PRINT *, int(max(0_8,int(j,kind=8)-1_8+1_8),kind=4)38 print *, ac(1)(1:j)%len39 !CHECK: PRINT *, int(max(0_8,int(j,kind=8)-1_8+1_8),kind=4)40 print *, st%sc(1:j)%len41 !CHECK: PRINT *, int(max(0_8,int(j,kind=8)-1_8+1_8),kind=4)42 print *, st%ac(1)(1:j)%len43 !CHECK: PRINT *, int(max(0_8,int(j,kind=8)-1_8+1_8),kind=4)44 print *, at(1)%sc(1:j)%len45 !CHECK: PRINT *, int(max(0_8,int(j,kind=8)-1_8+1_8),kind=4)46 print *, at(1)%ac(1)(1:j)%len47end48