1 ; RUN: opt -lint -disable-output < %s |& FileCheck %s
2 target datalayout = "e-p:64:64:64"
4 declare fastcc void @bar()
6 define i32 @foo() noreturn {
7 ; CHECK: Caller and callee calling convention differ
9 ; CHECK: Null pointer dereference
10 store i32 0, i32* null
11 ; CHECK: Null pointer dereference
13 ; CHECK: Undef pointer dereference
14 store i32 0, i32* undef
15 ; CHECK: Undef pointer dereference
17 ; CHECK: Memory reference address is misaligned
18 %x = inttoptr i32 1 to i32*
20 ; CHECK: Division by zero
22 ; CHECK: Division by zero
24 ; CHECK: Division by zero
26 ; CHECK: Division by zero
28 ; CHECK: extractelement index out of range
29 %ee = extractelement <4 x i32> zeroinitializer, i32 4
30 ; CHECK: insertelement index out of range
31 %ie = insertelement <4 x i32> zeroinitializer, i32 0, i32 4
32 ; CHECK: Shift count out of range
34 ; CHECK: Shift count out of range
36 ; CHECK: Shift count out of range
38 ; CHECK: xor(undef, undef)
39 %xx = xor i32 undef, undef
40 ; CHECK: sub(undef, undef)
41 %xs = sub i32 undef, undef
45 ; CHECK: Static alloca outside of entry block
47 ; CHECK: Return statement in function with noreturn attribute
52 ; CHECK: unreachable immediately preceded by instruction without side effects
56 ; CHECK: Unnamed function with non-local linkage
57 define void @0() nounwind {
61 ; CHECK: va_start called in a non-varargs function
62 declare void @llvm.va_start(i8*)
63 define void @not_vararg(i8* %p) nounwind {
64 call void @llvm.va_start(i8* %p)