;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; The following two object files were generated using the following command: ; D:\> cl /Z7 /c source.c ; with the following contents of D:\source.c: ; void z(void); ; ; void x(void) { ; z(); ; } ; ; void y(void) { ; z(); ; } ; ; void f(void) { ; x(); ; y(); ; z(); ; } ; using 32-/64-bit versions of CL v17.00.61030 and v18.00.21005.1 respectively. RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2012-i368 \ RUN: | FileCheck %s -check-prefix MFUN32 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2013-i368 \ RUN: | FileCheck %s -check-prefix MFUN32 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2012-x86_64 \ RUN: | FileCheck %s -check-prefix MFUN64 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2013-x86_64 \ RUN: | FileCheck %s -check-prefix MFUN64 MFUN32: CodeViewDebugInfo [ MFUN32-NEXT: Magic: 0x4 MFUN32-NEXT: Subsection [ MFUN32-NEXT: Type: 0xF1 MFUN32-NEXT: PayloadSize: 0x52 MFUN32: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: Type: 0xF5 MFUN32-NEXT: PayloadSize: 0x24 MFUN32: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: Type: 0xF1 MFUN32-NEXT: PayloadSize: 0x4B MFUN32: ProcStart { MFUN32-NEXT: DisplayName: x MFUN32-NEXT: Section: _x MFUN32-NEXT: CodeSize: 0xA MFUN32-NEXT: } MFUN32-NEXT: ProcEnd MFUN32: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: Type: 0xF2 MFUN32-NEXT: PayloadSize: 0x30 MFUN32: LinkageName: _x MFUN32-NEXT: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: Type: 0xF5 MFUN32-NEXT: PayloadSize: 0x24 MFUN32: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: Type: 0xF1 MFUN32-NEXT: PayloadSize: 0x4B MFUN32: ProcStart { MFUN32-NEXT: DisplayName: y MFUN32-NEXT: Section: _y MFUN32-NEXT: CodeSize: 0xA MFUN32-NEXT: } MFUN32-NEXT: ProcEnd MFUN32: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: Type: 0xF2 MFUN32-NEXT: PayloadSize: 0x30 MFUN32: LinkageName: _y MFUN32-NEXT: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: Type: 0xF5 MFUN32-NEXT: PayloadSize: 0x24 MFUN32: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: Type: 0xF1 MFUN32-NEXT: PayloadSize: 0x4B MFUN32: ProcStart { MFUN32-NEXT: DisplayName: f MFUN32-NEXT: Section: _f MFUN32-NEXT: CodeSize: 0x14 MFUN32-NEXT: } MFUN32-NEXT: ProcEnd MFUN32: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: Type: 0xF2 MFUN32-NEXT: PayloadSize: 0x40 MFUN32: LinkageName: _f MFUN32-NEXT: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: Type: 0xF4 MFUN32-NEXT: PayloadSize: 0x18 MFUN32: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: Type: 0xF3 MFUN32-NEXT: PayloadSize: 0x46 MFUN32: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: Type: 0xF1 MFUN32-NEXT: PayloadSize: 0x8 MFUN32: ] MFUN32-NEXT: FunctionLineTable [ MFUN32-NEXT LinkageName: _x MFUN32-NEXT Flags: 0x0 MFUN32-NEXT CodeSize: 0xA MFUN32-NEXT FilenameSegment [ MFUN32-NEXT Filename: d:\source.c MFUN32-NEXT +0x0 [ MFUN32-NEXT LineNumberStart: 3 MFUN32-NEXT LineNumberEndDelta: 0 MFUN32-NEXT IsStatement: Yes MFUN32-NEXT ] MFUN32-NEXT +0x3 [ MFUN32-NEXT LineNumberStart: 4 MFUN32-NEXT LineNumberEndDelta: 0 MFUN32-NEXT IsStatement: Yes MFUN32-NEXT ] MFUN32-NEXT +0x8 [ MFUN32-NEXT LineNumberStart: 5 MFUN32-NEXT LineNumberEndDelta: 0 MFUN32-NEXT IsStatement: Yes MFUN32-NEXT ] MFUN32-NEXT ] MFUN32-NEXT ] MFUN32-NEXT FunctionLineTable [ MFUN32-NEXT LinkageName: _y MFUN32-NEXT Flags: 0x0 MFUN32-NEXT CodeSize: 0xA MFUN32-NEXT FilenameSegment [ MFUN32-NEXT Filename: d:\source.c MFUN32-NEXT +0x0 [ MFUN32-NEXT LineNumberStart: 7 MFUN32-NEXT LineNumberEndDelta: 0 MFUN32-NEXT IsStatement: Yes MFUN32-NEXT ] MFUN32-NEXT +0x3 [ MFUN32-NEXT LineNumberStart: 8 MFUN32-NEXT LineNumberEndDelta: 0 MFUN32-NEXT IsStatement: Yes MFUN32-NEXT ] MFUN32-NEXT +0x8 [ MFUN32-NEXT LineNumberStart: 9 MFUN32-NEXT LineNumberEndDelta: 0 MFUN32-NEXT IsStatement: Yes MFUN32-NEXT ] MFUN32-NEXT ] MFUN32-NEXT ] MFUN32-NEXT FunctionLineTable [ MFUN32-NEXT LinkageName: _f MFUN32-NEXT Flags: 0x0 MFUN32-NEXT CodeSize: 0x14 MFUN32-NEXT FilenameSegment [ MFUN32-NEXT Filename: d:\source.c MFUN32-NEXT +0x0 [ MFUN32-NEXT LineNumberStart: 11 MFUN32-NEXT LineNumberEndDelta: 0 MFUN32-NEXT IsStatement: Yes MFUN32-NEXT ] MFUN32-NEXT +0x3 [ MFUN32-NEXT LineNumberStart: 12 MFUN32-NEXT LineNumberEndDelta: 0 MFUN32-NEXT IsStatement: Yes MFUN32-NEXT ] MFUN32-NEXT +0x8 [ MFUN32-NEXT LineNumberStart: 13 MFUN32-NEXT LineNumberEndDelta: 0 MFUN32-NEXT IsStatement: Yes MFUN32-NEXT ] MFUN32-NEXT +0xD [ MFUN32-NEXT LineNumberStart: 14 MFUN32-NEXT LineNumberEndDelta: 0 MFUN32-NEXT IsStatement: Yes MFUN32-NEXT ] MFUN32-NEXT +0x12 [ MFUN32-NEXT LineNumberStart: 15 MFUN32-NEXT LineNumberEndDelta: 0 MFUN32-NEXT IsStatement: Yes MFUN32-NEXT ] MFUN32-NEXT ] MFUN32-NEXT ] MFUN32-NEXT ] MFUN64: CodeViewDebugInfo [ MFUN64-NEXT: Magic: 0x4 MFUN64-NEXT: Subsection [ MFUN64-NEXT: Type: 0xF1 MFUN64-NEXT: PayloadSize: 0x52 MFUN64: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: Type: 0xF1 MFUN64-NEXT: PayloadSize: 0x4B MFUN64: ProcStart { MFUN64-NEXT: DisplayName: x MFUN64-NEXT: Section: x MFUN64-NEXT: CodeSize: 0xE MFUN64-NEXT: } MFUN64-NEXT: ProcEnd MFUN64: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: Type: 0xF2 MFUN64-NEXT: PayloadSize: 0x30 MFUN64: LinkageName: x MFUN64-NEXT: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: Type: 0xF1 MFUN64-NEXT: PayloadSize: 0x4B MFUN64: ProcStart { MFUN64-NEXT: DisplayName: y MFUN64-NEXT: Section: y MFUN64-NEXT: CodeSize: 0xE MFUN64-NEXT: } MFUN64-NEXT: ProcEnd MFUN64: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: Type: 0xF2 MFUN64-NEXT: PayloadSize: 0x30 MFUN64: LinkageName: y MFUN64-NEXT: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: Type: 0xF1 MFUN64-NEXT: PayloadSize: 0x4B MFUN64: ProcStart { MFUN64-NEXT: DisplayName: f MFUN64-NEXT: Section: f MFUN64-NEXT: CodeSize: 0x18 MFUN64-NEXT: } MFUN64-NEXT: ProcEnd MFUN64: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: Type: 0xF2 MFUN64-NEXT: PayloadSize: 0x40 MFUN64: LinkageName: f MFUN64-NEXT: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: Type: 0xF4 MFUN64-NEXT: PayloadSize: 0x18 MFUN64: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: Type: 0xF3 MFUN64-NEXT: PayloadSize: 0xD MFUN64: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: Type: 0xF1 MFUN64-NEXT: PayloadSize: 0x8 MFUN64: ] MFUN64-NEXT: FunctionLineTable [ MFUN64-NEXT: LinkageName: x MFUN64-NEXT: Flags: 0x0 MFUN64-NEXT: CodeSize: 0xE MFUN64-NEXT: FilenameSegment [ MFUN64-NEXT: Filename: d:\source.c MFUN64-NEXT: +0x0 [ MFUN64-NEXT: LineNumberStart: 3 MFUN64-NEXT: LineNumberEndDelta: 0 MFUN64-NEXT: IsStatement: Yes MFUN64-NEXT: ] MFUN64-NEXT: +0x4 [ MFUN64-NEXT: LineNumberStart: 4 MFUN64-NEXT: LineNumberEndDelta: 0 MFUN64-NEXT: IsStatement: Yes MFUN64-NEXT: ] MFUN64-NEXT: +0x9 [ MFUN64-NEXT: LineNumberStart: 5 MFUN64-NEXT: LineNumberEndDelta: 0 MFUN64-NEXT: IsStatement: Yes MFUN64-NEXT: ] MFUN64-NEXT: ] MFUN64-NEXT: ] MFUN64-NEXT: FunctionLineTable [ MFUN64-NEXT: LinkageName: y MFUN64-NEXT: Flags: 0x0 MFUN64-NEXT: CodeSize: 0xE MFUN64-NEXT: FilenameSegment [ MFUN64-NEXT: Filename: d:\source.c MFUN64-NEXT: +0x0 [ MFUN64-NEXT: LineNumberStart: 7 MFUN64-NEXT: LineNumberEndDelta: 0 MFUN64-NEXT: IsStatement: Yes MFUN64-NEXT: ] MFUN64-NEXT: +0x4 [ MFUN64-NEXT: LineNumberStart: 8 MFUN64-NEXT: LineNumberEndDelta: 0 MFUN64-NEXT: IsStatement: Yes MFUN64-NEXT: ] MFUN64-NEXT: +0x9 [ MFUN64-NEXT: LineNumberStart: 9 MFUN64-NEXT: LineNumberEndDelta: 0 MFUN64-NEXT: IsStatement: Yes MFUN64-NEXT: ] MFUN64-NEXT: ] MFUN64-NEXT: ] MFUN64-NEXT: FunctionLineTable [ MFUN64-NEXT: LinkageName: f MFUN64-NEXT: Flags: 0x0 MFUN64-NEXT: CodeSize: 0x18 MFUN64-NEXT: FilenameSegment [ MFUN64-NEXT: Filename: d:\source.c MFUN64-NEXT: +0x0 [ MFUN64-NEXT: LineNumberStart: 11 MFUN64-NEXT: LineNumberEndDelta: 0 MFUN64-NEXT: IsStatement: Yes MFUN64-NEXT: ] MFUN64-NEXT: +0x4 [ MFUN64-NEXT: LineNumberStart: 12 MFUN64-NEXT: LineNumberEndDelta: 0 MFUN64-NEXT: IsStatement: Yes MFUN64-NEXT: ] MFUN64-NEXT: +0x9 [ MFUN64-NEXT: LineNumberStart: 13 MFUN64-NEXT: LineNumberEndDelta: 0 MFUN64-NEXT: IsStatement: Yes MFUN64-NEXT: ] MFUN64-NEXT: +0xE [ MFUN64-NEXT: LineNumberStart: 14 MFUN64-NEXT: LineNumberEndDelta: 0 MFUN64-NEXT: IsStatement: Yes MFUN64-NEXT: ] MFUN64-NEXT: +0x13 [ MFUN64-NEXT: LineNumberStart: 15 MFUN64-NEXT: LineNumberEndDelta: 0 MFUN64-NEXT: IsStatement: Yes MFUN64-NEXT: ] MFUN64-NEXT: ] MFUN64-NEXT: ] MFUN64-NEXT: ] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; The following two object files were generated using the following command: ; D:\> cl /Z7 /c input.c ; with the following contents of D:\input.c: ; void g(void); ; ; void f(void) { ; #line 1 "one.c" ; g(); ; #line 2 "two.c" ; g(); ; #line 7 "one.c" ; g(); ; } ; using 32-/64-bit versions of CL v17.00.61030 and v18.00.21005.1 respectively. RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2012-i368 \ RUN: | FileCheck %s -check-prefix MFILE32 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2013-i368 \ RUN: | FileCheck %s -check-prefix MFILE32 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2012-x86_64 \ RUN: | FileCheck %s -check-prefix MFILE64 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2013-x86_64 \ RUN: | FileCheck %s -check-prefix MFILE64 MFILE32: CodeViewDebugInfo [ MFILE32-NEXT: Magic: 0x4 MFILE32-NEXT: Subsection [ MFILE32-NEXT: Type: 0xF1 MFILE32-NEXT: PayloadSize: 0x51 MFILE32: ] MFILE32-NEXT: Subsection [ MFILE32-NEXT: Type: 0xF5 MFILE32-NEXT: PayloadSize: 0x24 MFILE32: ] MFILE32-NEXT: Subsection [ MFILE32-NEXT: Type: 0xF1 MFILE32-NEXT: PayloadSize: 0x4B MFILE32: ProcStart { MFILE32-NEXT: DisplayName: f MFILE32-NEXT: Section: _f MFILE32-NEXT: CodeSize: 0x14 MFILE32-NEXT: } MFILE32-NEXT: ProcEnd MFILE32: ] MFILE32-NEXT: Subsection [ MFILE32-NEXT: Type: 0xF2 MFILE32-NEXT: PayloadSize: 0x64 MFILE32: LinkageName: _f MFILE32-NEXT: ] MFILE32-NEXT: Subsection [ MFILE32-NEXT: Type: 0xF4 MFILE32-NEXT: PayloadSize: 0x28 MFILE32: ] MFILE32-NEXT: Subsection [ MFILE32-NEXT: Type: 0xF3 MFILE32-NEXT: PayloadSize: 0x57 MFILE32: ] MFILE32-NEXT: Subsection [ MFILE32-NEXT: Type: 0xF1 MFILE32-NEXT: PayloadSize: 0x8 MFILE32: ] MFILE32-NEXT: FunctionLineTable [ MFILE32-NEXT: LinkageName: _f MFILE32-NEXT: Flags: 0x0 MFILE32-NEXT: CodeSize: 0x14 MFILE32-NEXT: FilenameSegment [ MFILE32-NEXT: Filename: d:\input.c MFILE32-NEXT: +0x0 [ MFILE32-NEXT: LineNumberStart: 3 MFILE32-NEXT: LineNumberEndDelta: 0 MFILE32-NEXT: IsStatement: Yes MFILE32-NEXT: ] MFILE32-NEXT: ] MFILE32-NEXT: FilenameSegment [ MFILE32-NEXT: Filename: d:\one.c MFILE32-NEXT: +0x3 [ MFILE32-NEXT: LineNumberStart: 1 MFILE32-NEXT: LineNumberEndDelta: 0 MFILE32-NEXT: IsStatement: Yes MFILE32-NEXT: ] MFILE32-NEXT: ] MFILE32-NEXT: FilenameSegment [ MFILE32-NEXT: Filename: d:\two.c MFILE32-NEXT: +0x8 [ MFILE32-NEXT: LineNumberStart: 2 MFILE32-NEXT: LineNumberEndDelta: 0 MFILE32-NEXT: IsStatement: Yes MFILE32-NEXT: ] MFILE32-NEXT: ] MFILE32-NEXT: FilenameSegment [ MFILE32-NEXT: Filename: d:\one.c MFILE32-NEXT: +0xD [ MFILE32-NEXT: LineNumberStart: 7 MFILE32-NEXT: LineNumberEndDelta: 0 MFILE32-NEXT: IsStatement: Yes MFILE32-NEXT: ] MFILE32-NEXT: +0x12 [ MFILE32-NEXT: LineNumberStart: 8 MFILE32-NEXT: LineNumberEndDelta: 0 MFILE32-NEXT: IsStatement: Yes MFILE32-NEXT: ] MFILE32-NEXT: ] MFILE32-NEXT: ] MFILE32-NEXT: ] MFILE64: CodeViewDebugInfo [ MFILE64-NEXT: Magic: 0x4 MFILE64-NEXT: Subsection [ MFILE64-NEXT: Type: 0xF1 MFILE64-NEXT: PayloadSize: 0x51 MFILE64: ] MFILE64-NEXT: Subsection [ MFILE64-NEXT: Type: 0xF1 MFILE64-NEXT: PayloadSize: 0x4B MFILE64: ProcStart { MFILE64-NEXT: DisplayName: f MFILE64-NEXT: Section: f MFILE64-NEXT: CodeSize: 0x18 MFILE64-NEXT: } MFILE64-NEXT: ProcEnd MFILE64: ] MFILE64-NEXT: Subsection [ MFILE64-NEXT: Type: 0xF2 MFILE64-NEXT: PayloadSize: 0x64 MFILE64: LinkageName: f MFILE64-NEXT: ] MFILE64-NEXT: Subsection [ MFILE64-NEXT: Type: 0xF4 MFILE64-NEXT: PayloadSize: 0x28 MFILE64: ] MFILE64-NEXT: Subsection [ MFILE64-NEXT: Type: 0xF3 MFILE64-NEXT: PayloadSize: 0x1E MFILE64: ] MFILE64-NEXT: Subsection [ MFILE64-NEXT: Type: 0xF1 MFILE64-NEXT: PayloadSize: 0x8 MFILE64: ] MFILE64-NEXT: FunctionLineTable [ MFILE64-NEXT: LinkageName: f MFILE64-NEXT: Flags: 0x0 MFILE64-NEXT: CodeSize: 0x18 MFILE64-NEXT: FilenameSegment [ MFILE64-NEXT: Filename: d:\input.c MFILE64-NEXT: +0x0 [ MFILE64-NEXT: LineNumberStart: 3 MFILE64-NEXT: LineNumberEndDelta: 0 MFILE64-NEXT: IsStatement: Yes MFILE64-NEXT: ] MFILE64-NEXT: ] MFILE64-NEXT: FilenameSegment [ MFILE64-NEXT: Filename: d:\one.c MFILE64-NEXT: +0x4 [ MFILE64-NEXT: LineNumberStart: 1 MFILE64-NEXT: LineNumberEndDelta: 0 MFILE64-NEXT: IsStatement: Yes MFILE64-NEXT: ] MFILE64-NEXT: ] MFILE64-NEXT: FilenameSegment [ MFILE64-NEXT: Filename: d:\two.c MFILE64-NEXT: +0x9 [ MFILE64-NEXT: LineNumberStart: 2 MFILE64-NEXT: LineNumberEndDelta: 0 MFILE64-NEXT: IsStatement: Yes MFILE64-NEXT: ] MFILE64-NEXT: ] MFILE64-NEXT: FilenameSegment [ MFILE64-NEXT: Filename: d:\one.c MFILE64-NEXT: +0xE [ MFILE64-NEXT: LineNumberStart: 7 MFILE64-NEXT: LineNumberEndDelta: 0 MFILE64-NEXT: IsStatement: Yes MFILE64-NEXT: ] MFILE64-NEXT: +0x13 [ MFILE64-NEXT: LineNumberStart: 8 MFILE64-NEXT: LineNumberEndDelta: 0 MFILE64-NEXT: IsStatement: Yes MFILE64-NEXT: ] MFILE64-NEXT: ] MFILE64-NEXT: ] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; The following object files were generated using the following command: ; C:\src> cl /Z7 /Gy /c test.cc ; with the following contents of C:\src\test.cc: ; int f() ; { ; return 0; ; } ; ; int g() ; { ; return 0; ; } ; using 32-version of CL v17.00.61030 and v18.00.21005.1 respectively. RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/comdat-function-linetables.obj.coff-2012-i386 \ RUN: | FileCheck %s -check-prefix MCOMDAT RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/comdat-function-linetables.obj.coff-2013-i386 \ RUN: | FileCheck %s -check-prefix MCOMDAT MCOMDAT: ProcStart { MCOMDAT-NEXT: DisplayName: f MCOMDAT-NEXT: Section: ?f@@YAHXZ MCOMDAT-NEXT: CodeSize: 0x7 MCOMDAT-NEXT: } MCOMDAT: FunctionLineTable [ MCOMDAT-NEXT: LinkageName: ?f@@YAHXZ MCOMDAT-NEXT: Flags: 0x0 MCOMDAT-NEXT: CodeSize: 0x7 MCOMDAT-NEXT: FilenameSegment [ MCOMDAT-NEXT: Filename: c:\src\test.cc MCOMDAT-NEXT: +0x0 [ MCOMDAT-NEXT: LineNumberStart: 2 MCOMDAT-NEXT: LineNumberEndDelta: 0 MCOMDAT-NEXT: IsStatement: Yes MCOMDAT-NEXT: ] MCOMDAT-NEXT: +0x3 [ MCOMDAT-NEXT: LineNumberStart: 3 MCOMDAT-NEXT: LineNumberEndDelta: 0 MCOMDAT-NEXT: IsStatement: Yes MCOMDAT-NEXT: ] MCOMDAT-NEXT: +0x5 [ MCOMDAT-NEXT: LineNumberStart: 4 MCOMDAT-NEXT: LineNumberEndDelta: 0 MCOMDAT-NEXT: IsStatement: Yes MCOMDAT-NEXT: ] MCOMDAT-NEXT: ] MCOMDAT-NEXT: ] MCOMDAT: ProcStart { MCOMDAT-NEXT: DisplayName: g MCOMDAT-NEXT: Section: ?g@@YAHXZ MCOMDAT-NEXT: CodeSize: 0x7 MCOMDAT-NEXT: } MCOMDAT: FunctionLineTable [ MCOMDAT-NEXT: LinkageName: ?g@@YAHXZ MCOMDAT-NEXT: Flags: 0x0 MCOMDAT-NEXT: CodeSize: 0x7 MCOMDAT-NEXT: FilenameSegment [ MCOMDAT-NEXT: Filename: c:\src\test.cc MCOMDAT-NEXT: +0x0 [ MCOMDAT-NEXT: LineNumberStart: 7 MCOMDAT-NEXT: LineNumberEndDelta: 0 MCOMDAT-NEXT: IsStatement: Yes MCOMDAT-NEXT: ] MCOMDAT-NEXT: +0x3 [ MCOMDAT-NEXT: LineNumberStart: 8 MCOMDAT-NEXT: LineNumberEndDelta: 0 MCOMDAT-NEXT: IsStatement: Yes MCOMDAT-NEXT: ] MCOMDAT-NEXT: +0x5 [ MCOMDAT-NEXT: LineNumberStart: 9 MCOMDAT-NEXT: LineNumberEndDelta: 0 MCOMDAT-NEXT: IsStatement: Yes MCOMDAT-NEXT: ] MCOMDAT-NEXT: ] MCOMDAT-NEXT: ]