blob: 8dfa77aafaaa76e3c57e5468f7a080e2def4266c [file] [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-9]+}} = !{i32 1}
; CHECK: values should not reference themselves
; CHECK: ptr @b
; CHECK: !{{[0-9]+}} = !{ptr @b}
; CHECK: ref metadata must be ValueAsMetadata
; CHECK: ptr @c
; CHECK: !{{[0-9]+}} = !{!"Hello World!"}
; CHECK: ref metadata must have one operand
; CHECK: ptr @d
; CHECK: !{{[0-9]+}} = !{ptr @c, ptr @a}
; CHECK: ref metadata must not be placed on a declaration
; CHECK: @e