;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 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: Section: .debug$S (2) MFUN32-NEXT: Magic: 0x4 MFUN32-NEXT: Subsection [ MFUN32-NEXT: SubSectionType: Symbols (0xF1) MFUN32-NEXT: SubSectionSize: 0x52 MFUN32: ] MFUN32: Subsection [ MFUN32-NEXT: SubSectionType: FrameData (0xF5) MFUN32-NEXT: SubSectionSize: 0x24 MFUN32: ] MFUN32: Subsection [ MFUN32-NEXT: SubSectionType: Symbols (0xF1) MFUN32-NEXT: SubSectionSize: 0x4B MFUN32: GlobalProcIdSym { MFUN32: CodeSize: 0xA MFUN32: DisplayName: x MFUN32: LinkageName: _x MFUN32: } MFUN32: ProcEnd MFUN32: ] MFUN32: Subsection [ MFUN32-NEXT: SubSectionType: Lines (0xF2) MFUN32-NEXT: SubSectionSize: 0x30 MFUN32: LinkageName: _x MFUN32-NEXT: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: SubSectionType: FrameData (0xF5) MFUN32-NEXT: SubSectionSize: 0x24 MFUN32: ] MFUN32: Subsection [ MFUN32-NEXT: SubSectionType: Symbols (0xF1) MFUN32-NEXT: SubSectionSize: 0x4B MFUN32: GlobalProcIdSym { MFUN32: CodeSize: 0xA MFUN32: DisplayName: y MFUN32: LinkageName: _y MFUN32: } MFUN32: ProcEnd MFUN32: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: SubSectionType: Lines (0xF2) MFUN32-NEXT: SubSectionSize: 0x30 MFUN32: LinkageName: _y MFUN32-NEXT: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: SubSectionType: FrameData (0xF5) MFUN32-NEXT: SubSectionSize: 0x24 MFUN32: ] MFUN32: Subsection [ MFUN32-NEXT: SubSectionType: Symbols (0xF1) MFUN32-NEXT: SubSectionSize: 0x4B MFUN32: GlobalProcIdSym { MFUN32: CodeSize: 0x14 MFUN32: DisplayName: f MFUN32: LinkageName: _f MFUN32: } MFUN32: ProcEnd MFUN32: ] MFUN32: Subsection [ MFUN32-NEXT: SubSectionType: Lines (0xF2) MFUN32-NEXT: SubSectionSize: 0x40 MFUN32: LinkageName: _f MFUN32-NEXT: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: SubSectionType: FileChecksums (0xF4) MFUN32-NEXT: SubSectionSize: 0x18 MFUN32: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: SubSectionType: StringTable (0xF3) MFUN32-NEXT: SubSectionSize: 0x46 MFUN32: ] MFUN32-NEXT: Subsection [ MFUN32-NEXT: SubSectionType: Symbols (0xF1) MFUN32-NEXT: SubSectionSize: 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: ] MFUN64: CodeViewDebugInfo [ MFUN64: Magic: 0x4 MFUN64-NEXT: Subsection [ MFUN64-NEXT: SubSectionType: Symbols (0xF1) MFUN64-NEXT: SubSectionSize: 0x52 MFUN64: ] MFUN64: Subsection [ MFUN64-NEXT: SubSectionType: Symbols (0xF1) MFUN64-NEXT: SubSectionSize: 0x4B MFUN64: GlobalProcIdSym { MFUN64: CodeSize: 0xE MFUN64: DisplayName: x MFUN64: LinkageName: x MFUN64: } MFUN64: ProcEnd MFUN64: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: SubSectionType: Lines (0xF2) MFUN64-NEXT: SubSectionSize: 0x30 MFUN64: LinkageName: x MFUN64-NEXT: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: SubSectionType: Symbols (0xF1) MFUN64-NEXT: SubSectionSize: 0x4B MFUN64: GlobalProcIdSym { MFUN64: CodeSize: 0xE MFUN64: DisplayName: y MFUN64: LinkageName: y MFUN64: } MFUN64: ProcEnd MFUN64: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: SubSectionType: Lines (0xF2) MFUN64-NEXT: SubSectionSize: 0x30 MFUN64: LinkageName: y MFUN64-NEXT: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: SubSectionType: Symbols (0xF1) MFUN64-NEXT: SubSectionSize: 0x4B MFUN64: GlobalProcIdSym { MFUN64: CodeSize: 0x18 MFUN64: DisplayName: f MFUN64: LinkageName: f MFUN64: } MFUN64: ProcEnd MFUN64: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: SubSectionType: Lines (0xF2) MFUN64-NEXT: SubSectionSize: 0x40 MFUN64: LinkageName: f MFUN64-NEXT: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: SubSectionType: FileChecksums (0xF4) MFUN64-NEXT: SubSectionSize: 0x18 MFUN64: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: SubSectionType: StringTable (0xF3) MFUN64-NEXT: SubSectionSize: 0xD MFUN64: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: SubSectionType: Symbols (0xF1) MFUN64-NEXT: SubSectionSize: 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: ] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 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: Magic: 0x4 MFILE32-NEXT: Subsection [ MFILE32-NEXT: SubSectionType: Symbols (0xF1) MFILE32-NEXT: SubSectionSize: 0x51 MFILE32: ] MFILE32: Subsection [ MFILE32-NEXT: SubSectionType: FrameData (0xF5) MFILE32-NEXT: SubSectionSize: 0x24 MFILE32: ] MFILE32: Subsection [ MFILE32-NEXT: SubSectionType: Symbols (0xF1) MFILE32-NEXT: SubSectionSize: 0x4B MFILE32: GlobalProcIdSym { MFILE32: CodeSize: 0x14 MFILE32: DisplayName: f MFILE32: LinkageName: _f MFILE32: } MFILE32: ProcEnd MFILE32: ] MFILE32-NEXT: Subsection [ MFILE32-NEXT: SubSectionType: Lines (0xF2) MFILE32-NEXT: SubSectionSize: 0x64 MFILE32: LinkageName: _f MFILE32-NEXT: ] MFILE32-NEXT: Subsection [ MFILE32-NEXT: SubSectionType: FileChecksums (0xF4) MFILE32-NEXT: SubSectionSize: 0x28 MFILE32: ] MFILE32-NEXT: Subsection [ MFILE32-NEXT: SubSectionType: StringTable (0xF3) MFILE32-NEXT: SubSectionSize: 0x57 MFILE32: ] MFILE32-NEXT: Subsection [ MFILE32-NEXT: SubSectionType: Symbols (0xF1) MFILE32-NEXT: SubSectionSize: 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: ] MFILE64: CodeViewDebugInfo [ MFILE64: Magic: 0x4 MFILE64-NEXT: Subsection [ MFILE64-NEXT: SubSectionType: Symbols (0xF1) MFILE64-NEXT: SubSectionSize: 0x51 MFILE64: ] MFILE64: Subsection [ MFILE64-NEXT: SubSectionType: Symbols (0xF1) MFILE64-NEXT: SubSectionSize: 0x4B MFILE64: GlobalProcIdSym { MFILE64: CodeSize: 0x18 MFILE64: DisplayName: f MFILE64: LinkageName: f MFILE64: } MFILE64: ProcEnd MFILE64: ] MFILE64-NEXT: Subsection [ MFILE64-NEXT: SubSectionType: Lines (0xF2) MFILE64-NEXT: SubSectionSize: 0x64 MFILE64: LinkageName: f MFILE64-NEXT: ] MFILE64-NEXT: Subsection [ MFILE64-NEXT: SubSectionType: FileChecksums (0xF4) MFILE64-NEXT: SubSectionSize: 0x28 MFILE64: ] MFILE64-NEXT: Subsection [ MFILE64-NEXT: SubSectionType: StringTable (0xF3) MFILE64-NEXT: SubSectionSize: 0x1E MFILE64: ] MFILE64-NEXT: Subsection [ MFILE64-NEXT: SubSectionType: Symbols (0xF1) MFILE64-NEXT: SubSectionSize: 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: ] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 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: GlobalProcIdSym { MCOMDAT: CodeSize: 0x7 MCOMDAT: DisplayName: f MCOMDAT: LinkageName: ?f@@YAHXZ MCOMDAT: } 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: GlobalProcIdSym { MCOMDAT: CodeSize: 0x7 MCOMDAT: DisplayName: g MCOMDAT: LinkageName: ?g@@YAHXZ MCOMDAT: } 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: ]