1*96d229c9SAndrzej Warzynski! RUN: %flang_fc1 -fdebug-unparse %s 2>&1 | FileCheck %s 2b781a04fSpeter klausler 3b781a04fSpeter klausler!CHECK-NOT: error: 4b781a04fSpeter klauslermodule mm 5b781a04fSpeter klausler interface 6b781a04fSpeter klausler module subroutine m(n) 7b781a04fSpeter klausler end 8b781a04fSpeter klausler end interface 9b781a04fSpeter klauslerend module mm 10b781a04fSpeter klausler 11b781a04fSpeter klauslerprogram p 12b781a04fSpeter klausler use mm 13b781a04fSpeter klausler20 print*, 'p' 14b781a04fSpeter klausler21 call p1 15b781a04fSpeter klausler22 call p2 16b781a04fSpeter klausler23 f0 = f(0); print '(f5.1)', f0 17b781a04fSpeter klausler24 f1 = f(1); print '(f5.1)', f1 18b781a04fSpeter klausler25 call s(0); call s(1) 19b781a04fSpeter klausler26 call m(0); call m(1) 20b781a04fSpeter klausler27 if (.false.) goto 29 21b781a04fSpeter klausler28 print*, 'px' 22b781a04fSpeter klauslercontains 23b781a04fSpeter klausler subroutine p1 24b781a04fSpeter klausler print*, 'p1' 25b781a04fSpeter klausler goto 29 26b781a04fSpeter klausler29 end subroutine p1 27b781a04fSpeter klausler subroutine p2 28b781a04fSpeter klausler print*, 'p2' 29b781a04fSpeter klausler goto 29 30b781a04fSpeter klausler29 end subroutine p2 31b781a04fSpeter klausler29 end 32b781a04fSpeter klausler 33b781a04fSpeter klauslerfunction f(n) 34b781a04fSpeter klausler print*, 'f' 35b781a04fSpeter klausler31 call f1 36b781a04fSpeter klausler32 call f2 37b781a04fSpeter klausler f = 30. 38b781a04fSpeter klausler if (n == 0) goto 39 39b781a04fSpeter klausler f = f + 3. 40b781a04fSpeter klausler print*, 'fx' 41b781a04fSpeter klauslercontains 42b781a04fSpeter klausler subroutine f1 43b781a04fSpeter klausler print*, 'f1' 44b781a04fSpeter klausler goto 39 45b781a04fSpeter klausler39 end subroutine f1 46b781a04fSpeter klausler subroutine f2 47b781a04fSpeter klausler print*, 'f2' 48b781a04fSpeter klausler goto 39 49b781a04fSpeter klausler39 end subroutine f2 50b781a04fSpeter klausler39 end 51b781a04fSpeter klausler 52b781a04fSpeter klauslersubroutine s(n) 53b781a04fSpeter klausler print*, 's' 54b781a04fSpeter klausler41 call s1 55b781a04fSpeter klausler42 call s2 56b781a04fSpeter klausler43 call s3 57b781a04fSpeter klausler if (n == 0) goto 49 58b781a04fSpeter klausler print*, 'sx' 59b781a04fSpeter klauslercontains 60b781a04fSpeter klausler subroutine s1 61b781a04fSpeter klausler print*, 's1' 62b781a04fSpeter klausler goto 49 63b781a04fSpeter klausler49 end subroutine s1 64b781a04fSpeter klausler subroutine s2 65b781a04fSpeter klausler print*, 's2' 66b781a04fSpeter klausler goto 49 67b781a04fSpeter klausler49 end subroutine s2 68b781a04fSpeter klausler subroutine s3 69b781a04fSpeter klausler print*, 's3' 70b781a04fSpeter klausler goto 49 71b781a04fSpeter klausler49 end subroutine s3 72b781a04fSpeter klausler49 end 73b781a04fSpeter klausler 74b781a04fSpeter klauslersubmodule(mm) mm1 75b781a04fSpeter klauslercontains 76b781a04fSpeter klausler module procedure m 77b781a04fSpeter klausler print*, 'm' 78b781a04fSpeter klausler 50 call m1 79b781a04fSpeter klausler 51 call m2 80b781a04fSpeter klausler if (n == 0) goto 59 81b781a04fSpeter klausler print*, 'mx' 82b781a04fSpeter klausler contains 83b781a04fSpeter klausler subroutine m1 84b781a04fSpeter klausler print*, 'm1' 85b781a04fSpeter klausler goto 59 86b781a04fSpeter klausler 59 end subroutine m1 87b781a04fSpeter klausler subroutine m2 88b781a04fSpeter klausler print*, 'm2' 89b781a04fSpeter klausler goto 59 90b781a04fSpeter klausler 59 end subroutine m2 91b781a04fSpeter klausler 59 end procedure m 92b781a04fSpeter klauslerend submodule mm1 93