Skip to content

Commit f9b9d2b

Browse files
committed
feat(Fortan): add first assumed-rank unit test
1 parent 6dadc3d commit f9b9d2b

File tree

5 files changed

+92
-0
lines changed

5 files changed

+92
-0
lines changed

Fortran/UnitTests/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
add_subdirectory(hello)
33
add_subdirectory(fcvs21_f95) # NIST Fortran Compiler Validation Suite
44
add_subdirectory(finalization)
5+
add_subdirectory(assumed-rank)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
llvm_singlesource()
2+
3+
file(COPY lit.local.cfg DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
program rank_dummy_select_intrinsic
2+
implicit none
3+
integer a, a1(1), a2(1,1), a3(1,1,1), a4(1,1,1, 1), a5(1,1,1, 1,1), a6(1,1,1, 1,1,1), a7(1,1,1, 1,1,1, 1)
4+
integer a8(1,1,1, 1,1,1, 1,1), a9(1,1,1, 1,1,1, 1,1,1), a10(1,1,1, 1,1,1, 1,1,1, 1), a11(1,1,1, 1,1,1, 1,1,1, 1,1)
5+
integer a12(1,1,1, 1,1,1, 1,1,1, 1,1,1), a13(1,1,1, 1,1,1, 1,1,1, 1,1,1, 1), a14(1,1,1, 1,1,1, 1,1,1, 1,1,1, 1,1)
6+
integer a15(1,1,1, 1,1,1, 1,1,1, 1,1,1, 1,1,1)
7+
8+
call print_rank(a)
9+
call print_rank(a1)
10+
call print_rank(a2)
11+
call print_rank(a3)
12+
call print_rank(a4)
13+
call print_rank(a5)
14+
call print_rank(a6)
15+
call print_rank(a7)
16+
call print_rank(a8)
17+
call print_rank(a9)
18+
call print_rank(a10)
19+
call print_rank(a11)
20+
call print_rank(a12)
21+
call print_rank(a13)
22+
call print_rank(a14)
23+
call print_rank(a15)
24+
25+
contains
26+
27+
subroutine print_rank(a)
28+
integer a(..)
29+
character(len=*), parameter :: format_='(a,i2)'
30+
31+
select rank(a)
32+
rank(0)
33+
print format_,"rank(a) = ",rank(a)
34+
rank(1)
35+
print format_,"rank(a) = ",rank(a)
36+
rank(2)
37+
print format_,"rank(a) = ",rank(a)
38+
rank(3)
39+
print format_,"rank(a) = ",rank(a)
40+
rank(4)
41+
print format_,"rank(a) = ",rank(a)
42+
rank(5)
43+
print format_,"rank(a) = ",rank(a)
44+
rank(6)
45+
print format_,"rank(a) = ",rank(a)
46+
rank(7)
47+
print format_,"rank(a) = ",rank(a)
48+
rank(8)
49+
print format_,"rank(a) = ",rank(a)
50+
rank(9)
51+
print format_,"rank(a) = ",rank(a)
52+
rank(10)
53+
print format_,"rank(a) = ",rank(a)
54+
rank(11)
55+
print format_,"rank(a) = ",rank(a)
56+
rank(12)
57+
print format_,"rank(a) = ",rank(a)
58+
rank(13)
59+
print format_,"rank(a) = ",rank(a)
60+
rank(14)
61+
print format_,"rank(a) = ",rank(a)
62+
rank(15)
63+
print format_,"rank(a) = ",rank(a)
64+
rank default
65+
error stop "unrecognized rank"
66+
end select
67+
end subroutine
68+
69+
end program rank_dummy_select_intrinsic
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
rank(a) = 0
2+
rank(a) = 1
3+
rank(a) = 2
4+
rank(a) = 3
5+
rank(a) = 4
6+
rank(a) = 5
7+
rank(a) = 6
8+
rank(a) = 7
9+
rank(a) = 8
10+
rank(a) = 9
11+
rank(a) = 10
12+
rank(a) = 11
13+
rank(a) = 12
14+
rank(a) = 13
15+
rank(a) = 14
16+
rank(a) = 15
17+
exit 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
config.traditional_output = True
2+
config.single_source = True

0 commit comments

Comments
 (0)