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