| ; RUN: not llvm-as %s -disable-output 2>&1 | FileCheck %s |
| |
| define void @a() { |
| unreachable |
| } |
| |
| define void @b() !kcfi_type !0 { |
| unreachable |
| } |
| |
| ; CHECK: function must have a single !kcfi_type attachment |
| define void @f0() !kcfi_type !0 !kcfi_type !0 { |
| unreachable |
| } |
| !0 = !{i32 10} |
| |
| ; CHECK: !kcfi_type must have exactly one operand |
| define void @f1() !kcfi_type !1 { |
| unreachable |
| } |
| !1 = !{!"string", i32 0} |
| |
| ; CHECK: expected a constant operand for !kcfi_type |
| define void @f2() !kcfi_type !2 { |
| unreachable |
| } |
| !2 = !{!"string"} |
| |
| ; CHECK: expected a constant integer operand for !kcfi_type |
| define void @f3() !kcfi_type !3 { |
| unreachable |
| } |
| !3 = !{ptr @f3} |
| |
| ; CHECK: expected a 32-bit integer constant operand for !kcfi_type |
| define void @f4() !kcfi_type !4 { |
| unreachable |
| } |
| !4 = !{i64 10} |