aboutsummaryrefslogtreecommitdiffstats
path: root/test/Other
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-04-08 23:05:57 +0000
committerDan Gohman <gohman@apple.com>2010-04-08 23:05:57 +0000
commitdd98c4d1859a318e7586f87031db44b215476020 (patch)
tree423ac5133693260c9dadc6830ef9e5f994fbc029 /test/Other
parente05678132345eb8a632362dbd320ee7d36226e67 (diff)
downloadexternal_llvm-dd98c4d1859a318e7586f87031db44b215476020.zip
external_llvm-dd98c4d1859a318e7586f87031db44b215476020.tar.gz
external_llvm-dd98c4d1859a318e7586f87031db44b215476020.tar.bz2
Add a few more lint checks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100825 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Other')
-rw-r--r--test/Other/lint.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/Other/lint.ll b/test/Other/lint.ll
index 6ccaa6f..fb34c28 100644
--- a/test/Other/lint.ll
+++ b/test/Other/lint.ll
@@ -10,6 +10,10 @@ define i32 @foo() noreturn {
store i32 0, i32* null
; CHECK: Null pointer dereference
%t = load i32* null
+; CHECK: Undef pointer dereference
+ store i32 0, i32* undef
+; CHECK: Undef pointer dereference
+ %u = load i32* undef
; CHECK: Memory reference address is misaligned
%x = inttoptr i32 1 to i32*
load i32* %x, align 4
@@ -21,6 +25,16 @@ define i32 @foo() noreturn {
%sr = srem i32 2, 0
; CHECK: Division by zero
%ur = urem i32 2, 0
+; CHECK: extractelement index out of range
+ %ee = extractelement <4 x i32> zeroinitializer, i32 4
+; CHECK: insertelement index out of range
+ %ie = insertelement <4 x i32> zeroinitializer, i32 0, i32 4
+; CHECK: Shift count out of range
+ %r = lshr i32 0, 32
+; CHECK: Shift count out of range
+ %q = ashr i32 0, 32
+; CHECK: Shift count out of range
+ %l = shl i32 0, 32
br label %next
next: