1# RUN: llvm-mc < %s -triple=x86_64-pc-win32 -filetype=obj | llvm-readobj - -codeview | FileCheck %s 2 3.section .debug$S 4.long 4 5.cv_stringtable 6 7.cv_file 1 "a.c" 8.cv_file 2 "t.inc" 9 10# Implements this C: 11# void f(volatile int *x) { 12# ++*x; 13# #include "t.h" // contains two ++*x; statements 14# ++*x; 15# } 16 17.text 18.def f; 19 .scl 2; 20 .type 32; 21 .endef 22 .text 23 .globl f 24 .align 16, 0x90 25f: 26.Lfunc_begin0: 27 .cv_loc 0 1 5 2 28 incl (%rdi) 29 # #include "t.h" start 30 .cv_loc 0 2 0 0 is_stmt 1 31 incl (%rdi) 32 .cv_loc 0 2 1 0 33 incl (%rdi) 34 # #include "t.h" end 35 .cv_loc 0 1 6 2 36 incl (%rdi) 37 retq 38.Lfunc_end0: 39 40.section .debug$S 41.cv_filechecksums 42.cv_linetable 0, f, .Lfunc_end0 43 44# CHECK: FunctionLineTable [ 45# CHECK: LinkageName: f 46# CHECK: Flags: 0x1 47# CHECK: CodeSize: 0x9 48# CHECK: FilenameSegment [ 49# CHECK: Filename: a.c (0x0) 50# CHECK: +0x0 [ 51# CHECK: LineNumberStart: 5 52# CHECK: LineNumberEndDelta: 0 53# CHECK: IsStatement: No 54# CHECK: ColStart: 2 55# CHECK: ColEnd: 0 56# CHECK: ] 57# CHECK: ] 58# CHECK: FilenameSegment [ 59# CHECK: Filename: t.inc (0x8) 60# CHECK: +0x2 [ 61# CHECK: LineNumberStart: 0 62# CHECK: LineNumberEndDelta: 0 63# CHECK: IsStatement: Yes 64# CHECK: ColStart: 0 65# CHECK: ColEnd: 0 66# CHECK: ] 67# CHECK: +0x4 [ 68# CHECK: LineNumberStart: 1 69# CHECK: LineNumberEndDelta: 0 70# CHECK: IsStatement: No 71# CHECK: ColStart: 0 72# CHECK: ColEnd: 0 73# CHECK: ] 74# CHECK: ] 75# CHECK: FilenameSegment [ 76# CHECK: Filename: a.c (0x0) 77# CHECK: +0x6 [ 78# CHECK: LineNumberStart: 6 79# CHECK: LineNumberEndDelta: 0 80# CHECK: IsStatement: No 81# CHECK: ColStart: 2 82# CHECK: ColEnd: 0 83# CHECK: ] 84# CHECK: ] 85# CHECK: ] 86