1; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s 2 3define void @f() #0 { 4 ret void 5} 6 7define void @g() #1 { 8 ret void 9} 10 11define void @h() #2 { 12 ret void 13} 14 15attributes #0 = { 16; CHECK: invalid value for 'sign-return-address' attribute: non-loaf 17 "sign-return-address"="non-loaf" 18; CHECK: invalid value for 'sign-return-address-key' attribute: bad-mkey 19 "sign-return-address-key"="bad-mkey" 20; CHECK: invalid value for 'branch-target-enforcement' attribute: yes-please 21 "branch-target-enforcement"="yes-please" } 22 23attributes #1 = { 24; CHECK: invalid value for 'sign-return-address' attribute: All 25 "sign-return-address"="All" 26; CHECK: invalid value for 'sign-return-address-key' attribute: B_Key 27 "sign-return-address-key"="B_Key" 28; CHECK: invalid value for 'branch-target-enforcement' attribute: True 29 "branch-target-enforcement"="True" 30; CHECK: invalid value for 'branch-protection-pauth-lr' attribute: Yes 31 "branch-protection-pauth-lr"="Yes" 32; CHECK: invalid value for 'guarded-control-stack' attribute: True 33 "guarded-control-stack"="True" 34 } 35 36attributes #2 = { 37; CHECK: 'sign-return-address-key' present without `sign-return-address` 38 "sign-return-address-key"="a_key" 39 } 40