blob: 58e195320583ec75133de076152453403e1fea8a [file] [log] [blame] [edit]
; RUN: not llvm-as -disable-output < %s -o /dev/null 2>&1 | FileCheck %s
@a = global i32 1, !implicit.ref !0
@b = global i32 2, !implicit.ref !1
@c = global i32 3, !implicit.ref !1, !implicit.ref !2
@d = global i32 4, !implicit.ref !3
@e = external global i32, !implicit.ref !1
!0 = !{i32 1}
!1 = !{ptr @b}
!2 = !{!"Hello World!"}
!3 = !{ptr @c, ptr @a}
; CHECK: ref value must be pointer typed
; CHECK: ptr @a
; CHECK: !0 = !{i32 1}
; CHECK: values should not reference themselves
; CHECK: ptr @b
; CHECK: !1 = !{ptr @b}
; CHECK: ref metadata must be ValueAsMetadata
; CHECK: ptr @c
; CHECK: !2 = !{!"Hello World!"}
; CHECK: ref metadata must have one operand
; CHECK: ptr @d
; CHECK: !3 = !{ptr @c, ptr @a}
; CHECK: ref metadata must not be placed on a declaration
; CHECK: @e