; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s
define void @f() #0 {
ret void
}
define void @g() #1 {
ret void
}
define void @h() #2 {
ret void
}
attributes #0 = {
; CHECK: invalid value for 'sign-return-address' attribute: non-loaf
"sign-return-address"="non-loaf"
; CHECK: invalid value for 'sign-return-address-key' attribute: bad-mkey
"sign-return-address-key"="bad-mkey"
; CHECK: invalid value for 'branch-target-enforcement' attribute: yes-please
"branch-target-enforcement"="yes-please" }
attributes #1 = {
; CHECK: invalid value for 'sign-return-address' attribute: All
"sign-return-address"="All"
; CHECK: invalid value for 'sign-return-address-key' attribute: B_Key
"sign-return-address-key"="B_Key"
; CHECK: invalid value for 'branch-target-enforcement' attribute: True
"branch-target-enforcement"="True"
; CHECK: invalid value for 'branch-protection-pauth-lr' attribute: Yes
"branch-protection-pauth-lr"="Yes"
; CHECK: invalid value for 'guarded-control-stack' attribute: True
"guarded-control-stack"="True"
}
attributes #2 = {
; CHECK: 'sign-return-address-key' present without `sign-return-address`
"sign-return-address-key"="a_key"
}