1; RUN: opt -lint < %s
2
3; lint shouldn't crash on any of the below functions
4
5@g_1 = external global [3 x i32]
6@g_2 = external global [2 x i32]
7
8define void @test1() {
9entry:
10  tail call void @f1(i16 zext (i1 icmp eq (i32* getelementptr inbounds ([2 x i32], [2 x i32]* @g_2, i64 0, i64 0), i32* getelementptr inbounds ([3 x i32], [3 x i32]* @g_1, i64 0, i64 1)) to i16))
11  ret void
12}
13
14declare void @f1(i16)
15
16define void @test2() {
17  tail call void inttoptr (i64 sext (i32 ptrtoint (void ()* @f2 to i32) to i64) to void ()*)()
18
19  ret void
20}
21
22declare void @f2()
23
24