blob: bde5883d221226399a61311e165cc4e39464b932 [file] [log] [blame]
Peter Collingbourne772d9122016-11-02 00:39:11 +00001RUN: not llvm-dis -disable-output %p/Inputs/invalid-empty.bc 2>&1 | \
2RUN: FileCheck --check-prefix=INVALID-EMPTY %s
Filipe Cabecinhas5d8bb5c2015-01-24 04:15:05 +00003RUN: not llvm-dis -disable-output %p/Inputs/invalid-pr20485.bc 2>&1 | \
4RUN: FileCheck --check-prefix=INVALID-ENCODING %s
5RUN: not llvm-dis -disable-output %p/Inputs/invalid-abbrev.bc 2>&1 | \
6RUN: FileCheck --check-prefix=BAD-ABBREV %s
7RUN: not llvm-dis -disable-output %p/Inputs/invalid-unexpected-eof.bc 2>&1 | \
8RUN: FileCheck --check-prefix=UNEXPECTED-EOF %s
9RUN: not llvm-dis -disable-output %p/Inputs/invalid-bad-abbrev-number.bc 2>&1 | \
10RUN: FileCheck --check-prefix=BAD-ABBREV-NUMBER %s
Filipe Cabecinhas1897b5c2015-01-30 18:13:50 +000011RUN: not llvm-dis -disable-output %p/Inputs/invalid-type-table-forward-ref.bc 2>&1 | \
12RUN: FileCheck --check-prefix=BAD-TYPE-TABLE-FORWARD-REF %s
13RUN: not llvm-dis -disable-output %p/Inputs/invalid-bitwidth.bc 2>&1 | \
14RUN: FileCheck --check-prefix=BAD-BITWIDTH %s
JF Bastien8c253f72015-02-22 19:32:03 +000015RUN: not llvm-dis -disable-output %p/Inputs/invalid-align.bc 2>&1 | \
16RUN: FileCheck --check-prefix=BAD-ALIGN %s
David Blaikief1d46142015-03-16 21:35:48 +000017RUN: not llvm-dis -disable-output %p/Inputs/invalid-gep-mismatched-explicit-type.bc 2>&1 | \
18RUN: FileCheck --check-prefix=MISMATCHED-EXPLICIT-GEP %s
David Blaikie2a83bf62015-03-16 21:48:46 +000019RUN: not llvm-dis -disable-output %p/Inputs/invalid-load-mismatched-explicit-type.bc 2>&1 | \
20RUN: FileCheck --check-prefix=MISMATCHED-EXPLICIT-LOAD %s
David Blaikie712d00b2015-03-16 22:03:50 +000021RUN: not llvm-dis -disable-output %p/Inputs/invalid-gep-operator-mismatched-explicit-type.bc 2>&1 | \
22RUN: FileCheck --check-prefix=MISMATCHED-EXPLICIT-GEP-OPERATOR %s
David Blaikie5023f152015-04-17 06:40:14 +000023RUN: not llvm-dis -disable-output %p/Inputs/invalid-call-mismatched-explicit-type.bc 2>&1 | \
24RUN: FileCheck --check-prefix=MISMATCHED-EXPLICIT-CALL %s
25RUN: not llvm-dis -disable-output %p/Inputs/invalid-call-non-function-explicit-type.bc 2>&1 | \
26RUN: FileCheck --check-prefix=NON-FUNCTION-EXPLICIT-CALL %s
David Blaikiec5b1f0a2015-04-24 18:06:06 +000027RUN: not llvm-dis -disable-output %p/Inputs/invalid-invoke-mismatched-explicit-type.bc 2>&1 | \
28RUN: FileCheck --check-prefix=MISMATCHED-EXPLICIT-INVOKE %s
29RUN: not llvm-dis -disable-output %p/Inputs/invalid-invoke-non-function-explicit-type.bc 2>&1 | \
30RUN: FileCheck --check-prefix=NON-FUNCTION-EXPLICIT-INVOKE %s
Filipe Cabecinhas5d8bb5c2015-01-24 04:15:05 +000031
Peter Collingbourne772d9122016-11-02 00:39:11 +000032INVALID-EMPTY: Invalid bitcode signature
Filipe Cabecinhas5d8bb5c2015-01-24 04:15:05 +000033INVALID-ENCODING: Invalid encoding
Peter Collingbourne34c84f42016-11-16 21:44:45 +000034BAD-ABBREV: Malformed block
35UNEXPECTED-EOF: Malformed block
36BAD-ABBREV-NUMBER: Malformed block
Filipe Cabecinhas1897b5c2015-01-30 18:13:50 +000037BAD-TYPE-TABLE-FORWARD-REF: Invalid TYPE table: Only named structs can be forward referenced
Peter Collingbourne34c84f42016-11-16 21:44:45 +000038BAD-BITWIDTH: Malformed block
JF Bastien8c253f72015-02-22 19:32:03 +000039BAD-ALIGN: Invalid alignment value
David Blaikief1d46142015-03-16 21:35:48 +000040MISMATCHED-EXPLICIT-GEP: Explicit gep type does not match pointee type of pointer operand
Filipe Cabecinhas70a2c722015-05-18 21:48:55 +000041MISMATCHED-EXPLICIT-LOAD: Explicit load/store type does not match pointee type of pointer operand
David Blaikie712d00b2015-03-16 22:03:50 +000042MISMATCHED-EXPLICIT-GEP-OPERATOR: Explicit gep operator type does not match pointee type of pointer operand
David Blaikie5023f152015-04-17 06:40:14 +000043MISMATCHED-EXPLICIT-CALL: Explicit call type does not match pointee type of callee operand
44NON-FUNCTION-EXPLICIT-CALL: Explicit call type is not a function type
David Blaikiec5b1f0a2015-04-24 18:06:06 +000045MISMATCHED-EXPLICIT-INVOKE: Explicit invoke type does not match pointee type of callee operand
46NON-FUNCTION-EXPLICIT-INVOKE: Explicit invoke type is not a function type
Filipe Cabecinhas9183d132015-02-16 00:03:11 +000047
48RUN: not llvm-dis -disable-output %p/Inputs/invalid-extractval-array-idx.bc 2>&1 | \
49RUN: FileCheck --check-prefix=EXTRACT-ARRAY %s
50RUN: not llvm-dis -disable-output %p/Inputs/invalid-extractval-struct-idx.bc 2>&1 | \
51RUN: FileCheck --check-prefix=EXTRACT-STRUCT %s
52RUN: not llvm-dis -disable-output %p/Inputs/invalid-extractval-too-many-idxs.bc 2>&1 | \
53RUN: FileCheck --check-prefix=EXTRACT-IDXS %s
54RUN: not llvm-dis -disable-output %p/Inputs/invalid-insertval-array-idx.bc 2>&1 | \
55RUN: FileCheck --check-prefix=INSERT-ARRAY %s
56RUN: not llvm-dis -disable-output %p/Inputs/invalid-insertval-struct-idx.bc 2>&1 | \
57RUN: FileCheck --check-prefix=INSERT-STRUCT %s
58RUN: not llvm-dis -disable-output %p/Inputs/invalid-insertval-too-many-idxs.bc 2>&1 | \
59RUN: FileCheck --check-prefix=INSERT-IDXS %s
60
61
62EXTRACT-ARRAY: EXTRACTVAL: Invalid array index
63EXTRACT-STRUCT: EXTRACTVAL: Invalid struct index
64EXTRACT-IDXS: EXTRACTVAL: Invalid type
65INSERT-ARRAY: INSERTVAL: Invalid array index
66INSERT-STRUCT: INSERTVAL: Invalid struct index
67INSERT-IDXS: INSERTVAL: Invalid type
Filipe Cabecinhas9a1030a2015-04-14 14:07:15 +000068
69RUN: not llvm-dis -disable-output %p/Inputs/invalid-no-proper-module.bc 2>&1 | \
70RUN: FileCheck --check-prefix=NO-MODULE %s
71
Peter Collingbourne34c84f42016-11-16 21:44:45 +000072NO-MODULE: Expected a single module
Filipe Cabecinhase16cac52015-04-22 09:06:21 +000073
74RUN: not llvm-dis -disable-output %p/Inputs/invalid-fp-shift.bc 2>&1 | \
75RUN: FileCheck --check-prefix=FP-SHIFT %s
76
77FP-SHIFT: Invalid record
Filipe Cabecinhas81f9bd32015-04-23 13:25:35 +000078
79RUN: not llvm-dis -disable-output %p/Inputs/invalid-abbrev-vbr-size-too-big.bc 2>&1 | \
80RUN: FileCheck --check-prefix=HUGE-ABBREV-OP %s
81RUN: not llvm-dis -disable-output %p/Inputs/invalid-abbrev-fixed-size-too-big.bc 2>&1 | \
82RUN: FileCheck --check-prefix=HUGE-ABBREV-OP %s
83
84HUGE-ABBREV-OP: Fixed or VBR abbrev record with size > MaxChunkData
Filipe Cabecinhas02360222015-04-23 13:38:21 +000085
86RUN: not llvm-dis -disable-output %p/Inputs/invalid-array-type.bc 2>&1 | \
87RUN: FileCheck --check-prefix=ARRAY-TYPE %s
88
89ARRAY-TYPE: Array element type can't be an Array or a Blob
Filipe Cabecinhas45a69612015-04-24 11:30:15 +000090
91RUN: not llvm-dis -disable-output %p/Inputs/invalid-non-vector-extractelement.bc 2>&1 | \
92RUN: FileCheck --check-prefix=INVALID-TYPE %s
93RUN: not llvm-dis -disable-output %p/Inputs/invalid-non-vector-insertelement.bc 2>&1 | \
94RUN: FileCheck --check-prefix=INVALID-TYPE %s
95RUN: not llvm-dis -disable-output %p/Inputs/invalid-non-vector-shufflevector.bc 2>&1 | \
96RUN: FileCheck --check-prefix=INVALID-TYPE %s
97
98INVALID-TYPE: Invalid type for value
Filipe Cabecinhas7acbf562015-04-28 20:18:47 +000099
100RUN: not llvm-dis -disable-output %p/Inputs/invalid-fwdref-type-mismatch.bc 2>&1 | \
101RUN: FileCheck --check-prefix=FWDREF-TYPE %s
102
103FWDREF-TYPE: Invalid record
Filipe Cabecinhas3b4a5652015-04-29 01:27:01 +0000104
Filipe Cabecinhas1c0b4962015-05-27 01:05:40 +0000105RUN: not llvm-dis -disable-output %p/Inputs/invalid-fwdref-type-mismatch-2.bc 2>&1 | \
106RUN: FileCheck --check-prefix=FWDREF-TYPE-MISMATCH %s
107
Peter Collingbourne34c84f42016-11-16 21:44:45 +0000108FWDREF-TYPE-MISMATCH: Malformed block
Filipe Cabecinhas1c0b4962015-05-27 01:05:40 +0000109
Filipe Cabecinhas3b4a5652015-04-29 01:27:01 +0000110RUN: not llvm-dis -disable-output %p/Inputs/invalid-array-element-type.bc 2>&1 | \
111RUN: FileCheck --check-prefix=ELEMENT-TYPE %s
112RUN: not llvm-dis -disable-output %p/Inputs/invalid-vector-element-type.bc 2>&1 | \
113RUN: FileCheck --check-prefix=ELEMENT-TYPE %s
Filipe Cabecinhas99ebc9e2015-04-29 02:27:28 +0000114RUN: not llvm-dis -disable-output %p/Inputs/invalid-pointer-element-type.bc 2>&1 | \
115RUN: FileCheck --check-prefix=ELEMENT-TYPE %s
Filipe Cabecinhas3b4a5652015-04-29 01:27:01 +0000116
117ELEMENT-TYPE: Invalid type
Filipe Cabecinhas7b30f322015-04-29 01:58:31 +0000118
Filipe Cabecinhasfdb28cd2015-10-06 12:37:54 +0000119RUN: not llvm-dis -disable-output %p/Inputs/invalid-cast.bc 2>&1 | \
120RUN: FileCheck --check-prefix=INVALID-CAST %s
121
122INVALID-CAST: Invalid cast
123
Filipe Cabecinhas7b30f322015-04-29 01:58:31 +0000124RUN: not llvm-dis -disable-output %p/Inputs/invalid-array-op-not-2nd-to-last.bc 2>&1 | \
125RUN: FileCheck --check-prefix=ARRAY-NOT-2LAST %s
126
127ARRAY-NOT-2LAST: Array op not second to last
Filipe Cabecinhasa607be92015-04-30 00:52:42 +0000128
129RUN: not llvm-dis -disable-output %p/Inputs/invalid-too-big-fwdref.bc 2>&1 | \
130RUN: FileCheck --check-prefix=HUGE-FWDREF %s
131
132HUGE-FWDREF: Invalid record
Filipe Cabecinhas8b2199e2015-04-30 01:13:31 +0000133
134RUN: not llvm-dis -disable-output %p/Inputs/invalid-load-pointer-type.bc 2>&1 | \
135RUN: FileCheck --check-prefix=LOAD-BAD-TYPE %s
136
Filipe Cabecinhas70a2c722015-05-18 21:48:55 +0000137LOAD-BAD-TYPE: Load/Store operand is not a pointer type
Filipe Cabecinhasdeedba22015-04-30 04:09:41 +0000138
139RUN: not llvm-dis -disable-output %p/Inputs/invalid-GCTable-overflow.bc 2>&1 | \
140RUN: FileCheck --check-prefix=GCTABLE-OFLOW %s
141
142GCTABLE-OFLOW: Invalid ID
Filipe Cabecinhasddf553b2015-05-16 00:33:12 +0000143
144RUN: not llvm-dis -disable-output %p/Inputs/invalid-insert-0-indices.bc 2>&1 | \
145RUN: FileCheck --check-prefix=INSERT-0-IDXS %s
146
147INSERT-0-IDXS: INSERTVAL: Invalid instruction with 0 indices
148
149RUN: not llvm-dis -disable-output %p/Inputs/invalid-extract-0-indices.bc 2>&1 | \
150RUN: FileCheck --check-prefix=EXTRACT-0-IDXS %s
151
152EXTRACT-0-IDXS: EXTRACTVAL: Invalid instruction with 0 indices
Filipe Cabecinhas70a2c722015-05-18 21:48:55 +0000153
154RUN: not llvm-dis -disable-output %p/Inputs/invalid-load-ptr-type.bc 2>&1 | \
155RUN: FileCheck --check-prefix=BAD-LOAD-PTR-TYPE %s
156
Peter Collingbourne34c84f42016-11-16 21:44:45 +0000157BAD-LOAD-PTR-TYPE: Malformed block
Filipe Cabecinhasb2bf2782015-05-18 22:27:11 +0000158
159RUN: not llvm-dis -disable-output %p/Inputs/invalid-inserted-value-type-mismatch.bc 2>&1 | \
160RUN: FileCheck --check-prefix=INSERT-TYPE-MISMATCH %s
161
162INSERT-TYPE-MISMATCH: Inserted value type doesn't match aggregate type
Filipe Cabecinhasc3ccd672015-05-19 00:34:17 +0000163
164RUN: not llvm-dis -disable-output %p/Inputs/invalid-code-len-width.bc 2>&1 | \
165RUN: FileCheck --check-prefix=INVALID-CODELENWIDTH %s
166
167INVALID-CODELENWIDTH: Malformed block
Filipe Cabecinhasbf27e112015-05-19 01:21:06 +0000168
169RUN: not llvm-dis -disable-output %p/Inputs/invalid-function-argument-type.bc 2>&1 | \
170RUN: FileCheck --check-prefix=INVALID-ARGUMENT-TYPE %s
171
172INVALID-ARGUMENT-TYPE: Invalid function argument type
Filipe Cabecinhas27ca64f2015-05-19 18:18:10 +0000173
Filipe Cabecinhas1c74d472015-05-26 23:00:56 +0000174RUN: not llvm-dis -disable-output %p/Inputs/invalid-function-comdat-id.bc 2>&1 | \
175RUN: FileCheck --check-prefix=INVALID-FCOMDAT-ID %s
176
Peter Collingbourne34c84f42016-11-16 21:44:45 +0000177INVALID-FCOMDAT-ID: Malformed block
Filipe Cabecinhas1c74d472015-05-26 23:00:56 +0000178
179RUN: not llvm-dis -disable-output %p/Inputs/invalid-global-var-comdat-id.bc 2>&1 | \
180RUN: FileCheck --check-prefix=INVALID-GVCOMDAT-ID %s
181
182INVALID-GVCOMDAT-ID: Invalid global variable comdat ID
Filipe Cabecinhasc7567722015-05-26 23:52:21 +0000183
184RUN: not llvm-dis -disable-output %p/Inputs/invalid-abbrev-no-operands.bc 2>&1 | \
185RUN: FileCheck --check-prefix=ABBREV-NO-OPS %s
186
187ABBREV-NO-OPS: Abbrev record with no operands
Filipe Cabecinhas316f9e02015-05-27 00:48:43 +0000188
189RUN: not llvm-dis -disable-output %p/Inputs/invalid-array-operand-encoding.bc 2>&1 | \
190RUN: FileCheck --check-prefix=ARRAY-OP-ENC %s
191
Peter Collingbourne34c84f42016-11-16 21:44:45 +0000192ARRAY-OP-ENC: Malformed block
Filipe Cabecinhas3b821152015-05-30 00:17:20 +0000193
194RUN: not llvm-dis -disable-output %p/Inputs/invalid-metadata-not-followed-named-node.bc 2>&1 | \
195RUN: FileCheck --check-prefix=META-NOT-FOLLOWED-BY-NAMED-META %s
196
Peter Collingbourne34c84f42016-11-16 21:44:45 +0000197META-NOT-FOLLOWED-BY-NAMED-META: Malformed block
Filipe Cabecinhas287f68d2015-06-03 00:05:30 +0000198
199RUN: not llvm-dis -disable-output %p/Inputs/invalid-vector-length.bc 2>&1 | \
200RUN: FileCheck --check-prefix=VECTOR-LENGTH %s
201
202VECTOR-LENGTH: Invalid vector length
Filipe Cabecinhasa3a2cab2015-06-03 01:30:13 +0000203
204RUN: not llvm-dis -disable-output %p/Inputs/invalid-alias-type-mismatch.bc 2>&1 | \
205RUN: FileCheck --check-prefix=ALIAS-TYPE-MISMATCH %s
206
207ALIAS-TYPE-MISMATCH: Alias and aliasee types don't match
Filipe Cabecinhas32a23492015-11-03 13:48:26 +0000208
209RUN: not llvm-dis -disable-output %p/Inputs/invalid-no-function-block.bc 2>&1 | \
210RUN: FileCheck --check-prefix=NO-FUNCTION-BLOCK %s
211
Peter Collingbourned9a93c02016-11-09 00:51:04 +0000212NO-FUNCTION-BLOCK: Trying to materialize functions before seeing function blocks (Producer: 'LLVM3.8.0git' Reader: 'LLVM
Filipe Cabecinhasc3c89b42015-11-04 14:53:36 +0000213
214RUN: not llvm-dis -disable-output %p/Inputs/invalid-name-with-0-byte.bc 2>&1 | \
215RUN: FileCheck --check-prefix=NAME-WITH-0 %s
216
Peter Collingbourne34c84f42016-11-16 21:44:45 +0000217NAME-WITH-0: Malformed block
Filipe Cabecinhas780fc2c2016-06-05 18:43:17 +0000218
219RUN: not llvm-dis -disable-output %p/Inputs/invalid-void-constant.bc 2>&1 | \
220RUN: FileCheck --check-prefix=VOID-CONSTANT-TYPE %s
221
222VOID-CONSTANT-TYPE: Invalid constant type
Filipe Cabecinhase8dd99a2016-06-05 18:43:26 +0000223
224RUN: not llvm-dis -disable-output %p/Inputs/invalid-gep-no-operands.bc 2>&1 | \
225RUN: FileCheck --check-prefix=GEP-NO-OPERANDS %s
226
227GEP-NO-OPERANDS: Invalid gep with no operands
Filipe Cabecinhasafe713a2016-06-05 18:43:33 +0000228
229RUN: not llvm-dis -disable-output %p/Inputs/invalid-nonpointer-storeatomic.bc 2>&1 | \
230RUN: FileCheck --check-prefix=NONPOINTER-STOREATOMIC %s
231
232NONPOINTER-STOREATOMIC: Invalid record
Filipe Cabecinhas98090ec2016-06-05 18:43:40 +0000233
234RUN: not llvm-dis -disable-output %p/Inputs/invalid-nonpointer-atomicrmw.bc 2>&1 | \
235RUN: FileCheck --check-prefix=NONPOINTER-ATOMICRMW %s
236
237NONPOINTER-ATOMICRMW: Invalid record