| ; RUN: split-file %s %t | |
| ; RUN: not llvm-as < %t/not-string.ll -disable-output 2>&1 | FileCheck %s --check-prefix=NOTSTRING | |
| ; RUN: not llvm-as < %t/bad-value.ll -disable-output 2>&1 | FileCheck %s --check-prefix=BADVALUE | |
| ; RUN: not llvm-as < %t/empty-value.ll -disable-output 2>&1 | FileCheck %s --check-prefix=EMPTY | |
| ; RUN: not llvm-as < %t/too-few.ll -disable-output 2>&1 | FileCheck %s --check-prefix=TOOFEW | |
| ; RUN: not llvm-as < %t/too-many.ll -disable-output 2>&1 | FileCheck %s --check-prefix=TOOMANY | |
| ; RUN: not llvm-as < %t/bad-behavior.ll -disable-output 2>&1 | FileCheck %s --check-prefix=BEHAVIOR | |
| ;--- not-string.ll | |
| !llvm.module.flags = !{!0} | |
| !0 = !{i32 1, !"thread-model", i32 1} | |
| ; NOTSTRING: thread-model metadata requires a string argument | |
| ;--- bad-value.ll | |
| !llvm.module.flags = !{!0} | |
| !0 = !{i32 1, !"thread-model", !"multi"} | |
| ; BADVALUE: invalid thread-model metadata value | |
| ;--- empty-value.ll | |
| !llvm.module.flags = !{!0} | |
| !0 = !{i32 1, !"thread-model", !""} | |
| ; EMPTY: invalid thread-model metadata value | |
| ;--- too-few.ll | |
| !llvm.module.flags = !{!0} | |
| !0 = !{i32 1, !"thread-model"} | |
| ; TOOFEW: incorrect number of operands in module flag | |
| ;--- too-many.ll | |
| !llvm.module.flags = !{!0} | |
| !0 = !{i32 1, !"thread-model", !"single", !"extra"} | |
| ; TOOMANY: incorrect number of operands in module flag | |
| ;--- bad-behavior.ll | |
| !llvm.module.flags = !{!0} | |
| !0 = !{i32 2, !"thread-model", !"single"} | |
| ; BEHAVIOR: thread-model module flag must use 'error' merge behavior |