aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/Verifier/llvm.dbg.declare-variable.ll
blob: 601fab190d36ba2761e261f89ffb61580973ca43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
; RUN: llvm-as -disable-output <%s 2>&1 | FileCheck %s
; CHECK: invalid #dbg record variable
; CHECK-NEXT: #dbg_declare({{.*}})
; CHECK-NEXT: DISubprogram
; CHECK: warning: ignoring invalid debug info

;; This test ensures we report an illegal variable as illegal, but also that
;; the illegal MDNode is printed out (DISubprogram) to help localise.

define void @foo(i32 %a) {
entry:
  %s = alloca i32
  call void @llvm.dbg.declare(metadata ptr %s, metadata !1, metadata !DIExpression()), !dbg !DILocation(scope: !1)
  ret void
}

declare void @llvm.dbg.declare(metadata, metadata, metadata)

!llvm.module.flags = !{!0}
!0 = !{i32 2, !"Debug Info Version", i32 3}
!1 = distinct !DISubprogram()