1RUN: not llvm-dis -disable-output %p/Inputs/invalid-pr20485.bc 2>&1 | \
2RUN:   FileCheck --check-prefix=INVALID-ENCODING %s
3RUN: not llvm-dis -disable-output %p/Inputs/invalid-abbrev.bc 2>&1 | \
4RUN:   FileCheck --check-prefix=BAD-ABBREV %s
5RUN: not llvm-dis -disable-output %p/Inputs/invalid-unexpected-eof.bc 2>&1 | \
6RUN:   FileCheck --check-prefix=UNEXPECTED-EOF %s
7RUN: not llvm-dis -disable-output %p/Inputs/invalid-bad-abbrev-number.bc 2>&1 | \
8RUN:   FileCheck --check-prefix=BAD-ABBREV-NUMBER %s
9RUN: not llvm-dis -disable-output %p/Inputs/invalid-type-table-forward-ref.bc 2>&1 | \
10RUN:   FileCheck --check-prefix=BAD-TYPE-TABLE-FORWARD-REF %s
11RUN: not llvm-dis -disable-output %p/Inputs/invalid-bitwidth.bc 2>&1 | \
12RUN:   FileCheck --check-prefix=BAD-BITWIDTH %s
13RUN: not llvm-dis -disable-output %p/Inputs/invalid-align.bc  2>&1 | \
14RUN:   FileCheck --check-prefix=BAD-ALIGN %s
15RUN: not llvm-dis -disable-output %p/Inputs/invalid-gep-mismatched-explicit-type.bc 2>&1 | \
16RUN:   FileCheck --check-prefix=MISMATCHED-EXPLICIT-GEP %s
17RUN: not llvm-dis -disable-output %p/Inputs/invalid-load-mismatched-explicit-type.bc 2>&1 | \
18RUN:   FileCheck --check-prefix=MISMATCHED-EXPLICIT-LOAD %s
19RUN: not llvm-dis -disable-output %p/Inputs/invalid-gep-operator-mismatched-explicit-type.bc 2>&1 | \
20RUN:   FileCheck --check-prefix=MISMATCHED-EXPLICIT-GEP-OPERATOR %s
21RUN: not llvm-dis -disable-output %p/Inputs/invalid-call-mismatched-explicit-type.bc 2>&1 | \
22RUN:   FileCheck --check-prefix=MISMATCHED-EXPLICIT-CALL %s
23RUN: not llvm-dis -disable-output %p/Inputs/invalid-call-non-function-explicit-type.bc 2>&1 | \
24RUN:   FileCheck --check-prefix=NON-FUNCTION-EXPLICIT-CALL %s
25
26INVALID-ENCODING: Invalid encoding
27BAD-ABBREV: Abbreviation starts with an Array or a Blob
28UNEXPECTED-EOF: Unexpected end of file
29BAD-ABBREV-NUMBER: Invalid abbrev number
30BAD-TYPE-TABLE-FORWARD-REF: Invalid TYPE table: Only named structs can be forward referenced
31BAD-BITWIDTH: Bitwidth for integer type out of range
32BAD-ALIGN: Invalid alignment value
33MISMATCHED-EXPLICIT-GEP: Explicit gep type does not match pointee type of pointer operand
34MISMATCHED-EXPLICIT-LOAD: Explicit load type does not match pointee type of pointer operand
35MISMATCHED-EXPLICIT-GEP-OPERATOR: Explicit gep operator type does not match pointee type of pointer operand
36MISMATCHED-EXPLICIT-CALL: Explicit call type does not match pointee type of callee operand
37NON-FUNCTION-EXPLICIT-CALL: Explicit call type is not a function type
38
39RUN: not llvm-dis -disable-output %p/Inputs/invalid-extractval-array-idx.bc 2>&1 | \
40RUN:   FileCheck --check-prefix=EXTRACT-ARRAY %s
41RUN: not llvm-dis -disable-output %p/Inputs/invalid-extractval-struct-idx.bc 2>&1 | \
42RUN:   FileCheck --check-prefix=EXTRACT-STRUCT %s
43RUN: not llvm-dis -disable-output %p/Inputs/invalid-extractval-too-many-idxs.bc 2>&1 | \
44RUN:   FileCheck --check-prefix=EXTRACT-IDXS %s
45RUN: not llvm-dis -disable-output %p/Inputs/invalid-insertval-array-idx.bc 2>&1 | \
46RUN:   FileCheck --check-prefix=INSERT-ARRAY %s
47RUN: not llvm-dis -disable-output %p/Inputs/invalid-insertval-struct-idx.bc 2>&1 | \
48RUN:   FileCheck --check-prefix=INSERT-STRUCT %s
49RUN: not llvm-dis -disable-output %p/Inputs/invalid-insertval-too-many-idxs.bc 2>&1 | \
50RUN:   FileCheck --check-prefix=INSERT-IDXS %s
51
52
53EXTRACT-ARRAY: EXTRACTVAL: Invalid array index
54EXTRACT-STRUCT: EXTRACTVAL: Invalid struct index
55EXTRACT-IDXS: EXTRACTVAL: Invalid type
56INSERT-ARRAY: INSERTVAL: Invalid array index
57INSERT-STRUCT: INSERTVAL: Invalid struct index
58INSERT-IDXS: INSERTVAL: Invalid type
59
60RUN: not llvm-dis -disable-output %p/Inputs/invalid-no-proper-module.bc 2>&1 | \
61RUN:   FileCheck --check-prefix=NO-MODULE %s
62
63NO-MODULE: Malformed IR file
64