47 lines
1.7 KiB
LLVM
47 lines
1.7 KiB
LLVM
; RUN: not llvm-as -disable-output < %s -o /dev/null 2>&1 | FileCheck %s
|
|
|
|
; CHECK: associated value must be pointer typed
|
|
; CHECK-NEXT: ptr addrspace(1) @associated.int
|
|
; CHECK-NEXT: !0 = !{i32 1}
|
|
@associated.int = external addrspace(1) constant [8 x i8], !associated !0
|
|
|
|
; CHECK: associated value must be pointer typed
|
|
; CHECK-NEXT: ptr addrspace(1) @associated.float
|
|
; CHECK-NEXT: !1 = !{float 1.000000e+00}
|
|
@associated.float = external addrspace(1) constant [8 x i8], !associated !1
|
|
|
|
; CHECK: associated metadata must have one operand
|
|
; CHECK-NEXT: ptr addrspace(1) @associated.too.many.ops
|
|
; CHECK-NEXT: !2 = !{ptr @gv.decl0, ptr @gv.decl1}
|
|
@associated.too.many.ops = external addrspace(1) constant [8 x i8], !associated !2
|
|
|
|
; CHECK: associated metadata must have one operand
|
|
; CHECK-NEXT: ptr addrspace(1) @associated.empty
|
|
; CHECK-NEXT: !3 = !{}
|
|
@associated.empty = external addrspace(1) constant [8 x i8], !associated !3
|
|
|
|
; CHECK: associated metadata must have a global value
|
|
; CHECK-NEXT: ptr addrspace(1) @associated.null.metadata
|
|
; CHECK-NEXT: !4 = !{null}
|
|
@associated.null.metadata = external addrspace(1) constant [8 x i8], !associated !4
|
|
|
|
; CHECK: global values should not associate to themselves
|
|
; CHECK-NEXT: ptr @associated.self
|
|
; CHECK-NEXT: !5 = !{ptr @associated.self}
|
|
@associated.self = external constant [8 x i8], !associated !5
|
|
|
|
; CHECK: associated metadata must be ValueAsMetadata
|
|
; CHECK-NEXT: ptr @associated.string
|
|
; CHECK-NEXT: !6 = !{!"string"}
|
|
@associated.string = external constant [8 x i8], !associated !6
|
|
|
|
@gv.decl0 = external constant [8 x i8]
|
|
@gv.decl1 = external constant [8 x i8]
|
|
|
|
!0 = !{i32 1}
|
|
!1 = !{float 1.000000e+00}
|
|
!2 = !{ptr @gv.decl0, ptr @gv.decl1}
|
|
!3 = !{}
|
|
!4 = !{null}
|
|
!5 = !{ptr @associated.self}
|
|
!6 = !{!"string"}
|