1c45975cbSZequan Wu# Compiled from the following files, but replaced the call to abort with nop. 2c45975cbSZequan Wu# clang-cl -fuse-ld=lld-link /Z7 /O1 /Faa.asm /winsysroot~/win_toolchain a.cpp 3c45975cbSZequan Wu# a.cpp: 4c45975cbSZequan Wu# #include "a.h" 5c45975cbSZequan Wu# int main(int argc, char** argv) { 6c45975cbSZequan Wu# volatile int main_local = Namespace1::foo(2); 7c45975cbSZequan Wu# return 0; 8c45975cbSZequan Wu# } 9c45975cbSZequan Wu# a.h: 10c45975cbSZequan Wu# #include <stdlib.h> 11c45975cbSZequan Wu# #include "b.h" 12c45975cbSZequan Wu# namespace Namespace1 { 13c45975cbSZequan Wu# inline int foo(int x) { 14c45975cbSZequan Wu# volatile int foo_local = x + 1; 15c45975cbSZequan Wu# ++foo_local; 16c45975cbSZequan Wu# if (!foo_local) 17c45975cbSZequan Wu# abort(); 18c45975cbSZequan Wu# return Class1::bar(foo_local); 19c45975cbSZequan Wu# } 20c45975cbSZequan Wu# } // namespace Namespace1 21c45975cbSZequan Wu# b.h: 22c45975cbSZequan Wu# #include "c.h" 23c45975cbSZequan Wu# class Class1 { 24c45975cbSZequan Wu# public: 25c45975cbSZequan Wu# inline static int bar(int x) { 26c45975cbSZequan Wu# volatile int bar_local = x + 1; 27c45975cbSZequan Wu# ++bar_local; 28c45975cbSZequan Wu# return Namespace2::Class2::func(bar_local); 29c45975cbSZequan Wu# } 30c45975cbSZequan Wu# }; 31c45975cbSZequan Wu# c.h: 32c45975cbSZequan Wu# namespace Namespace2 { 33c45975cbSZequan Wu# class Class2 { 34c45975cbSZequan Wu# public: 35c45975cbSZequan Wu# inline static int func(int x) { 36c45975cbSZequan Wu# volatile int func_local = x + 1; 37c45975cbSZequan Wu# func_local += x; 38c45975cbSZequan Wu# return func_local; 39c45975cbSZequan Wu# } 40c45975cbSZequan Wu# }; 41c45975cbSZequan Wu# } // namespace Namespace2 42c45975cbSZequan Wu 43c45975cbSZequan Wu .text 44c45975cbSZequan Wu .def @feat.00; 45c45975cbSZequan Wu .scl 3; 46c45975cbSZequan Wu .type 0; 47c45975cbSZequan Wu .endef 48c45975cbSZequan Wu .globl @feat.00 49c45975cbSZequan Wu.set @feat.00, 0 50c45975cbSZequan Wu .intel_syntax noprefix 51c45975cbSZequan Wu .file "a.cpp" 52c45975cbSZequan Wu .def main; 53c45975cbSZequan Wu .scl 2; 54c45975cbSZequan Wu .type 32; 55c45975cbSZequan Wu .endef 56c45975cbSZequan Wu .section .text,"xr",one_only,main 57c45975cbSZequan Wu .globl main # -- Begin function main 58c45975cbSZequan Wumain: # @main 59c45975cbSZequan Wu.Lfunc_begin0: 60c45975cbSZequan Wu .cv_func_id 0 61c45975cbSZequan Wu .cv_file 1 "/tmp/a.cpp" "4FFB96E5DF1A95CE7DB9732CFFE001D7" 1 62c45975cbSZequan Wu .cv_loc 0 1 2 0 # a.cpp:2:0 63c45975cbSZequan Wu.seh_proc main 64c45975cbSZequan Wu# %bb.0: 65c45975cbSZequan Wu #DEBUG_VALUE: main:argv <- $rdx 66c45975cbSZequan Wu #DEBUG_VALUE: main:argc <- $ecx 67c45975cbSZequan Wu #DEBUG_VALUE: foo:x <- 2 68c45975cbSZequan Wu sub rsp, 56 69c45975cbSZequan Wu .seh_stackalloc 56 70c45975cbSZequan Wu .seh_endprologue 71c45975cbSZequan Wu.Ltmp0: 72c45975cbSZequan Wu .cv_file 2 "/tmp/./a.h" "BBFED90EF093E9C1D032CC9B05B5D167" 1 73c45975cbSZequan Wu .cv_inline_site_id 1 within 0 inlined_at 1 3 0 74c45975cbSZequan Wu .cv_loc 1 2 5 0 # ./a.h:5:0 75c45975cbSZequan Wu mov dword ptr [rsp + 44], 3 76c45975cbSZequan Wu .cv_loc 1 2 6 0 # ./a.h:6:0 77c45975cbSZequan Wu inc dword ptr [rsp + 44] 78c45975cbSZequan Wu .cv_loc 1 2 7 0 # ./a.h:7:0 79c45975cbSZequan Wu mov eax, dword ptr [rsp + 44] 80c45975cbSZequan Wu test eax, eax 81c45975cbSZequan Wu je .LBB0_2 82c45975cbSZequan Wu.Ltmp1: 83c45975cbSZequan Wu# %bb.1: 84c45975cbSZequan Wu #DEBUG_VALUE: main:argv <- $rdx 85c45975cbSZequan Wu #DEBUG_VALUE: main:argc <- $ecx 86c45975cbSZequan Wu #DEBUG_VALUE: foo:x <- 2 87c45975cbSZequan Wu .cv_loc 1 2 9 0 # ./a.h:9:0 88c45975cbSZequan Wu mov eax, dword ptr [rsp + 44] 89c45975cbSZequan Wu.Ltmp2: 90c45975cbSZequan Wu #DEBUG_VALUE: bar:x <- $eax 91c45975cbSZequan Wu .cv_file 3 "/tmp/./b.h" "A26CC743A260115F33AF91AB11F95877" 1 92c45975cbSZequan Wu .cv_inline_site_id 2 within 1 inlined_at 2 9 0 93c45975cbSZequan Wu .cv_loc 2 3 5 0 # ./b.h:5:0 94c45975cbSZequan Wu inc eax 95c45975cbSZequan Wu.Ltmp3: 96c45975cbSZequan Wu mov dword ptr [rsp + 52], eax 97c45975cbSZequan Wu .cv_loc 2 3 6 0 # ./b.h:6:0 98c45975cbSZequan Wu inc dword ptr [rsp + 52] 99c45975cbSZequan Wu .cv_loc 2 3 7 0 # ./b.h:7:0 100c45975cbSZequan Wu mov eax, dword ptr [rsp + 52] 101c45975cbSZequan Wu.Ltmp4: 102c45975cbSZequan Wu #DEBUG_VALUE: func:x <- $eax 103c45975cbSZequan Wu .cv_file 4 "/tmp/./c.h" "8AF4613F78624BBE96D1C408ABA39B2D" 1 104c45975cbSZequan Wu .cv_inline_site_id 3 within 2 inlined_at 3 7 0 105c45975cbSZequan Wu .cv_loc 3 4 5 0 # ./c.h:5:0 106c45975cbSZequan Wu lea ecx, [rax + 1] 107c45975cbSZequan Wu.Ltmp5: 108c45975cbSZequan Wu #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $ecx 109c45975cbSZequan Wu mov dword ptr [rsp + 48], ecx 110c45975cbSZequan Wu .cv_loc 3 4 6 0 # ./c.h:6:0 111c45975cbSZequan Wu add dword ptr [rsp + 48], eax 112c45975cbSZequan Wu .cv_loc 3 4 7 0 # ./c.h:7:0 113c45975cbSZequan Wu mov eax, dword ptr [rsp + 48] 114c45975cbSZequan Wu.Ltmp6: 115c45975cbSZequan Wu .cv_loc 0 1 3 0 # a.cpp:3:0 116c45975cbSZequan Wu mov dword ptr [rsp + 48], eax 117c45975cbSZequan Wu .cv_loc 0 1 4 0 # a.cpp:4:0 118c45975cbSZequan Wu xor eax, eax 119*ef7cba71SZequan Wu # Use fake debug info to tests inline info. 120*ef7cba71SZequan Wu .cv_loc 1 2 20 0 121c45975cbSZequan Wu add rsp, 56 122c45975cbSZequan Wu ret 123c45975cbSZequan Wu.Ltmp7: 124c45975cbSZequan Wu.LBB0_2: 125c45975cbSZequan Wu #DEBUG_VALUE: main:argv <- $rdx 126c45975cbSZequan Wu #DEBUG_VALUE: main:argc <- $ecx 127c45975cbSZequan Wu #DEBUG_VALUE: foo:x <- 2 128c45975cbSZequan Wu .cv_loc 1 2 8 0 # ./a.h:8:0 129c45975cbSZequan Wu nop 130c45975cbSZequan Wu.Ltmp8: 131c45975cbSZequan Wu int3 132c45975cbSZequan Wu.Ltmp9: 133c45975cbSZequan Wu #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $ecx 134c45975cbSZequan Wu #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rdx 135c45975cbSZequan Wu.Lfunc_end0: 136c45975cbSZequan Wu .seh_endproc 137c45975cbSZequan Wu # -- End function 138c45975cbSZequan Wu .section .drectve,"yn" 139c45975cbSZequan Wu .ascii " /DEFAULTLIB:libcmt.lib" 140c45975cbSZequan Wu .ascii " /DEFAULTLIB:oldnames.lib" 141c45975cbSZequan Wu .section .debug$S,"dr" 142c45975cbSZequan Wu .p2align 2 143c45975cbSZequan Wu .long 4 # Debug section magic 144c45975cbSZequan Wu .long 241 145c45975cbSZequan Wu .long .Ltmp11-.Ltmp10 # Subsection size 146c45975cbSZequan Wu.Ltmp10: 147c45975cbSZequan Wu .short .Ltmp13-.Ltmp12 # Record length 148c45975cbSZequan Wu.Ltmp12: 149c45975cbSZequan Wu .short 4353 # Record kind: S_OBJNAME 150c45975cbSZequan Wu .long 0 # Signature 151c45975cbSZequan Wu .asciz "/tmp/a-2b2ba0.obj" # Object name 152c45975cbSZequan Wu .p2align 2 153c45975cbSZequan Wu.Ltmp13: 154c45975cbSZequan Wu .short .Ltmp15-.Ltmp14 # Record length 155c45975cbSZequan Wu.Ltmp14: 156c45975cbSZequan Wu .short 4412 # Record kind: S_COMPILE3 157c45975cbSZequan Wu .long 1 # Flags and language 158c45975cbSZequan Wu .short 208 # CPUType 159c45975cbSZequan Wu .short 15 # Frontend version 160c45975cbSZequan Wu .short 0 161c45975cbSZequan Wu .short 0 162c45975cbSZequan Wu .short 0 163c45975cbSZequan Wu .short 15000 # Backend version 164c45975cbSZequan Wu .short 0 165c45975cbSZequan Wu .short 0 166c45975cbSZequan Wu .short 0 167c45975cbSZequan Wu .asciz "clang version 15.0.0" # Null-terminated compiler version string 168c45975cbSZequan Wu .p2align 2 169c45975cbSZequan Wu.Ltmp15: 170c45975cbSZequan Wu.Ltmp11: 171c45975cbSZequan Wu .p2align 2 172c45975cbSZequan Wu .long 246 # Inlinee lines subsection 173c45975cbSZequan Wu .long .Ltmp17-.Ltmp16 # Subsection size 174c45975cbSZequan Wu.Ltmp16: 175c45975cbSZequan Wu .long 0 # Inlinee lines signature 176c45975cbSZequan Wu 177c45975cbSZequan Wu # Inlined function foo starts at ./a.h:4 178c45975cbSZequan Wu .long 4099 # Type index of inlined function 179c45975cbSZequan Wu .cv_filechecksumoffset 2 # Offset into filechecksum table 180c45975cbSZequan Wu .long 4 # Starting line number 181c45975cbSZequan Wu 182c45975cbSZequan Wu # Inlined function bar starts at ./b.h:4 183c45975cbSZequan Wu .long 4106 # Type index of inlined function 184c45975cbSZequan Wu .cv_filechecksumoffset 3 # Offset into filechecksum table 185c45975cbSZequan Wu .long 4 # Starting line number 186c45975cbSZequan Wu 187c45975cbSZequan Wu # Inlined function func starts at ./c.h:4 188c45975cbSZequan Wu .long 4113 # Type index of inlined function 189c45975cbSZequan Wu .cv_filechecksumoffset 4 # Offset into filechecksum table 190c45975cbSZequan Wu .long 4 # Starting line number 191c45975cbSZequan Wu.Ltmp17: 192c45975cbSZequan Wu .p2align 2 193c45975cbSZequan Wu .section .debug$S,"dr",associative,main 194c45975cbSZequan Wu .p2align 2 195c45975cbSZequan Wu .long 4 # Debug section magic 196c45975cbSZequan Wu .long 241 # Symbol subsection for main 197c45975cbSZequan Wu .long .Ltmp19-.Ltmp18 # Subsection size 198c45975cbSZequan Wu.Ltmp18: 199c45975cbSZequan Wu .short .Ltmp21-.Ltmp20 # Record length 200c45975cbSZequan Wu.Ltmp20: 201c45975cbSZequan Wu .short 4423 # Record kind: S_GPROC32_ID 202c45975cbSZequan Wu .long 0 # PtrParent 203c45975cbSZequan Wu .long 0 # PtrEnd 204c45975cbSZequan Wu .long 0 # PtrNext 205c45975cbSZequan Wu .long .Lfunc_end0-main # Code size 206c45975cbSZequan Wu .long 0 # Offset after prologue 207c45975cbSZequan Wu .long 0 # Offset before epilogue 208c45975cbSZequan Wu .long 4117 # Function type index 209c45975cbSZequan Wu .secrel32 main # Function section relative address 210c45975cbSZequan Wu .secidx main # Function section index 211c45975cbSZequan Wu .byte 0 # Flags 212c45975cbSZequan Wu .asciz "main" # Function name 213c45975cbSZequan Wu .p2align 2 214c45975cbSZequan Wu.Ltmp21: 215c45975cbSZequan Wu .short .Ltmp23-.Ltmp22 # Record length 216c45975cbSZequan Wu.Ltmp22: 217c45975cbSZequan Wu .short 4114 # Record kind: S_FRAMEPROC 218c45975cbSZequan Wu .long 56 # FrameSize 219c45975cbSZequan Wu .long 0 # Padding 220c45975cbSZequan Wu .long 0 # Offset of padding 221c45975cbSZequan Wu .long 0 # Bytes of callee saved registers 222c45975cbSZequan Wu .long 0 # Exception handler offset 223c45975cbSZequan Wu .short 0 # Exception handler section 224c45975cbSZequan Wu .long 81920 # Flags (defines frame register) 225c45975cbSZequan Wu .p2align 2 226c45975cbSZequan Wu.Ltmp23: 227c45975cbSZequan Wu .short .Ltmp25-.Ltmp24 # Record length 228c45975cbSZequan Wu.Ltmp24: 229c45975cbSZequan Wu .short 4414 # Record kind: S_LOCAL 230c45975cbSZequan Wu .long 116 # TypeIndex 231c45975cbSZequan Wu .short 1 # Flags 232c45975cbSZequan Wu .asciz "argc" 233c45975cbSZequan Wu .p2align 2 234c45975cbSZequan Wu.Ltmp25: 235c45975cbSZequan Wu .cv_def_range .Lfunc_begin0 .Ltmp5 .Ltmp7 .Ltmp8, reg, 18 236c45975cbSZequan Wu .short .Ltmp27-.Ltmp26 # Record length 237c45975cbSZequan Wu.Ltmp26: 238c45975cbSZequan Wu .short 4414 # Record kind: S_LOCAL 239c45975cbSZequan Wu .long 4114 # TypeIndex 240c45975cbSZequan Wu .short 1 # Flags 241c45975cbSZequan Wu .asciz "argv" 242c45975cbSZequan Wu .p2align 2 243c45975cbSZequan Wu.Ltmp27: 244c45975cbSZequan Wu .cv_def_range .Lfunc_begin0 .Ltmp8, reg, 331 245c45975cbSZequan Wu .short .Ltmp29-.Ltmp28 # Record length 246c45975cbSZequan Wu.Ltmp28: 247c45975cbSZequan Wu .short 4414 # Record kind: S_LOCAL 248c45975cbSZequan Wu .long 4118 # TypeIndex 249c45975cbSZequan Wu .short 0 # Flags 250c45975cbSZequan Wu .asciz "main_local" 251c45975cbSZequan Wu .p2align 2 252c45975cbSZequan Wu.Ltmp29: 253c45975cbSZequan Wu .cv_def_range .Ltmp0 .Ltmp9, frame_ptr_rel, 48 254c45975cbSZequan Wu .short .Ltmp31-.Ltmp30 # Record length 255c45975cbSZequan Wu.Ltmp30: 256c45975cbSZequan Wu .short 4429 # Record kind: S_INLINESITE 257c45975cbSZequan Wu .long 0 # PtrParent 258c45975cbSZequan Wu .long 0 # PtrEnd 259c45975cbSZequan Wu .long 4099 # Inlinee type index 260c45975cbSZequan Wu .cv_inline_linetable 1 2 4 .Lfunc_begin0 .Lfunc_end0 261c45975cbSZequan Wu .p2align 2 262c45975cbSZequan Wu.Ltmp31: 263c45975cbSZequan Wu .short .Ltmp33-.Ltmp32 # Record length 264c45975cbSZequan Wu.Ltmp32: 265c45975cbSZequan Wu .short 4414 # Record kind: S_LOCAL 266c45975cbSZequan Wu .long 116 # TypeIndex 267c45975cbSZequan Wu .short 257 # Flags 268c45975cbSZequan Wu .asciz "x" 269c45975cbSZequan Wu .p2align 2 270c45975cbSZequan Wu.Ltmp33: 271c45975cbSZequan Wu .short .Ltmp35-.Ltmp34 # Record length 272c45975cbSZequan Wu.Ltmp34: 273c45975cbSZequan Wu .short 4414 # Record kind: S_LOCAL 274c45975cbSZequan Wu .long 4118 # TypeIndex 275c45975cbSZequan Wu .short 0 # Flags 276c45975cbSZequan Wu .asciz "foo_local" 277c45975cbSZequan Wu .p2align 2 278c45975cbSZequan Wu.Ltmp35: 279c45975cbSZequan Wu .cv_def_range .Ltmp0 .Ltmp6 .Ltmp7 .Ltmp9, frame_ptr_rel, 44 280c45975cbSZequan Wu .short .Ltmp37-.Ltmp36 # Record length 281c45975cbSZequan Wu.Ltmp36: 282c45975cbSZequan Wu .short 4429 # Record kind: S_INLINESITE 283c45975cbSZequan Wu .long 0 # PtrParent 284c45975cbSZequan Wu .long 0 # PtrEnd 285c45975cbSZequan Wu .long 4106 # Inlinee type index 286c45975cbSZequan Wu .cv_inline_linetable 2 3 4 .Lfunc_begin0 .Lfunc_end0 287c45975cbSZequan Wu .p2align 2 288c45975cbSZequan Wu.Ltmp37: 289c45975cbSZequan Wu .short .Ltmp39-.Ltmp38 # Record length 290c45975cbSZequan Wu.Ltmp38: 291c45975cbSZequan Wu .short 4414 # Record kind: S_LOCAL 292c45975cbSZequan Wu .long 116 # TypeIndex 293c45975cbSZequan Wu .short 1 # Flags 294c45975cbSZequan Wu .asciz "x" 295c45975cbSZequan Wu .p2align 2 296c45975cbSZequan Wu.Ltmp39: 297c45975cbSZequan Wu .cv_def_range .Ltmp2 .Ltmp3, reg, 17 298c45975cbSZequan Wu .short .Ltmp41-.Ltmp40 # Record length 299c45975cbSZequan Wu.Ltmp40: 300c45975cbSZequan Wu .short 4414 # Record kind: S_LOCAL 301c45975cbSZequan Wu .long 4118 # TypeIndex 302c45975cbSZequan Wu .short 0 # Flags 303c45975cbSZequan Wu .asciz "bar_local" 304c45975cbSZequan Wu .p2align 2 305c45975cbSZequan Wu.Ltmp41: 306c45975cbSZequan Wu .cv_def_range .Ltmp2 .Ltmp6, frame_ptr_rel, 52 307c45975cbSZequan Wu .short .Ltmp43-.Ltmp42 # Record length 308c45975cbSZequan Wu.Ltmp42: 309c45975cbSZequan Wu .short 4429 # Record kind: S_INLINESITE 310c45975cbSZequan Wu .long 0 # PtrParent 311c45975cbSZequan Wu .long 0 # PtrEnd 312c45975cbSZequan Wu .long 4113 # Inlinee type index 313c45975cbSZequan Wu .cv_inline_linetable 3 4 4 .Lfunc_begin0 .Lfunc_end0 314c45975cbSZequan Wu .p2align 2 315c45975cbSZequan Wu.Ltmp43: 316c45975cbSZequan Wu .short .Ltmp45-.Ltmp44 # Record length 317c45975cbSZequan Wu.Ltmp44: 318c45975cbSZequan Wu .short 4414 # Record kind: S_LOCAL 319c45975cbSZequan Wu .long 116 # TypeIndex 320c45975cbSZequan Wu .short 1 # Flags 321c45975cbSZequan Wu .asciz "x" 322c45975cbSZequan Wu .p2align 2 323c45975cbSZequan Wu.Ltmp45: 324c45975cbSZequan Wu .cv_def_range .Ltmp4 .Ltmp6, reg, 17 325c45975cbSZequan Wu .short .Ltmp47-.Ltmp46 # Record length 326c45975cbSZequan Wu.Ltmp46: 327c45975cbSZequan Wu .short 4414 # Record kind: S_LOCAL 328c45975cbSZequan Wu .long 4118 # TypeIndex 329c45975cbSZequan Wu .short 0 # Flags 330c45975cbSZequan Wu .asciz "func_local" 331c45975cbSZequan Wu .p2align 2 332c45975cbSZequan Wu.Ltmp47: 333c45975cbSZequan Wu .cv_def_range .Ltmp4 .Ltmp6, frame_ptr_rel, 48 334c45975cbSZequan Wu .short 2 # Record length 335c45975cbSZequan Wu .short 4430 # Record kind: S_INLINESITE_END 336c45975cbSZequan Wu .short 2 # Record length 337c45975cbSZequan Wu .short 4430 # Record kind: S_INLINESITE_END 338c45975cbSZequan Wu .short 2 # Record length 339c45975cbSZequan Wu .short 4430 # Record kind: S_INLINESITE_END 340c45975cbSZequan Wu .short 2 # Record length 341c45975cbSZequan Wu .short 4431 # Record kind: S_PROC_ID_END 342c45975cbSZequan Wu.Ltmp19: 343c45975cbSZequan Wu .p2align 2 344c45975cbSZequan Wu .cv_linetable 0, main, .Lfunc_end0 345c45975cbSZequan Wu .section .debug$S,"dr" 346c45975cbSZequan Wu .long 241 347c45975cbSZequan Wu .long .Ltmp49-.Ltmp48 # Subsection size 348c45975cbSZequan Wu.Ltmp48: 349c45975cbSZequan Wu .short .Ltmp51-.Ltmp50 # Record length 350c45975cbSZequan Wu.Ltmp50: 351c45975cbSZequan Wu .short 4360 # Record kind: S_UDT 352c45975cbSZequan Wu .long 4103 # Type 353c45975cbSZequan Wu .asciz "Class1" 354c45975cbSZequan Wu .p2align 2 355c45975cbSZequan Wu.Ltmp51: 356c45975cbSZequan Wu .short .Ltmp53-.Ltmp52 # Record length 357c45975cbSZequan Wu.Ltmp52: 358c45975cbSZequan Wu .short 4360 # Record kind: S_UDT 359c45975cbSZequan Wu .long 4110 # Type 360c45975cbSZequan Wu .asciz "Namespace2::Class2" 361c45975cbSZequan Wu .p2align 2 362c45975cbSZequan Wu.Ltmp53: 363c45975cbSZequan Wu.Ltmp49: 364c45975cbSZequan Wu .p2align 2 365c45975cbSZequan Wu .cv_filechecksums # File index to string table offset subsection 366c45975cbSZequan Wu .cv_stringtable # String table 367c45975cbSZequan Wu .long 241 368c45975cbSZequan Wu .long .Ltmp55-.Ltmp54 # Subsection size 369c45975cbSZequan Wu.Ltmp54: 370c45975cbSZequan Wu .short .Ltmp57-.Ltmp56 # Record length 371c45975cbSZequan Wu.Ltmp56: 372c45975cbSZequan Wu .short 4428 # Record kind: S_BUILDINFO 373c45975cbSZequan Wu .long 4124 # LF_BUILDINFO index 374c45975cbSZequan Wu .p2align 2 375c45975cbSZequan Wu.Ltmp57: 376c45975cbSZequan Wu.Ltmp55: 377c45975cbSZequan Wu .p2align 2 378c45975cbSZequan Wu .section .debug$T,"dr" 379c45975cbSZequan Wu .p2align 2 380c45975cbSZequan Wu .long 4 # Debug section magic 381c45975cbSZequan Wu # StringId (0x1000) 382c45975cbSZequan Wu .short 0x12 # Record length 383c45975cbSZequan Wu .short 0x1605 # Record kind: LF_STRING_ID 384c45975cbSZequan Wu .long 0x0 # Id 385c45975cbSZequan Wu .asciz "Namespace1" # StringData 386c45975cbSZequan Wu .byte 241 387c45975cbSZequan Wu # ArgList (0x1001) 388c45975cbSZequan Wu .short 0xa # Record length 389c45975cbSZequan Wu .short 0x1201 # Record kind: LF_ARGLIST 390c45975cbSZequan Wu .long 0x1 # NumArgs 391c45975cbSZequan Wu .long 0x74 # Argument: int 392c45975cbSZequan Wu # Procedure (0x1002) 393c45975cbSZequan Wu .short 0xe # Record length 394c45975cbSZequan Wu .short 0x1008 # Record kind: LF_PROCEDURE 395c45975cbSZequan Wu .long 0x74 # ReturnType: int 396c45975cbSZequan Wu .byte 0x0 # CallingConvention: NearC 397c45975cbSZequan Wu .byte 0x0 # FunctionOptions 398c45975cbSZequan Wu .short 0x1 # NumParameters 399c45975cbSZequan Wu .long 0x1001 # ArgListType: (int) 400c45975cbSZequan Wu # FuncId (0x1003) 401c45975cbSZequan Wu .short 0xe # Record length 402c45975cbSZequan Wu .short 0x1601 # Record kind: LF_FUNC_ID 403c45975cbSZequan Wu .long 0x1000 # ParentScope: Namespace1 404c45975cbSZequan Wu .long 0x1002 # FunctionType: int (int) 405c45975cbSZequan Wu .asciz "foo" # Name 406c45975cbSZequan Wu # Class (0x1004) 407c45975cbSZequan Wu .short 0x2a # Record length 408c45975cbSZequan Wu .short 0x1504 # Record kind: LF_CLASS 409c45975cbSZequan Wu .short 0x0 # MemberCount 410c45975cbSZequan Wu .short 0x280 # Properties ( ForwardReference (0x80) | HasUniqueName (0x200) ) 411c45975cbSZequan Wu .long 0x0 # FieldList 412c45975cbSZequan Wu .long 0x0 # DerivedFrom 413c45975cbSZequan Wu .long 0x0 # VShape 414c45975cbSZequan Wu .short 0x0 # SizeOf 415c45975cbSZequan Wu .asciz "Class1" # Name 416c45975cbSZequan Wu .asciz ".?AVClass1@@" # LinkageName 417c45975cbSZequan Wu .byte 242 418c45975cbSZequan Wu .byte 241 419c45975cbSZequan Wu # MemberFunction (0x1005) 420c45975cbSZequan Wu .short 0x1a # Record length 421c45975cbSZequan Wu .short 0x1009 # Record kind: LF_MFUNCTION 422c45975cbSZequan Wu .long 0x74 # ReturnType: int 423c45975cbSZequan Wu .long 0x1004 # ClassType: Class1 424c45975cbSZequan Wu .long 0x0 # ThisType 425c45975cbSZequan Wu .byte 0x0 # CallingConvention: NearC 426c45975cbSZequan Wu .byte 0x0 # FunctionOptions 427c45975cbSZequan Wu .short 0x1 # NumParameters 428c45975cbSZequan Wu .long 0x1001 # ArgListType: (int) 429c45975cbSZequan Wu .long 0x0 # ThisAdjustment 430c45975cbSZequan Wu # FieldList (0x1006) 431c45975cbSZequan Wu .short 0xe # Record length 432c45975cbSZequan Wu .short 0x1203 # Record kind: LF_FIELDLIST 433c45975cbSZequan Wu .short 0x1511 # Member kind: OneMethod ( LF_ONEMETHOD ) 434c45975cbSZequan Wu .short 0xb # Attrs: Public, Static 435c45975cbSZequan Wu .long 0x1005 # Type: int Class1::(int) 436c45975cbSZequan Wu .asciz "bar" # Name 437c45975cbSZequan Wu # Class (0x1007) 438c45975cbSZequan Wu .short 0x2a # Record length 439c45975cbSZequan Wu .short 0x1504 # Record kind: LF_CLASS 440c45975cbSZequan Wu .short 0x1 # MemberCount 441c45975cbSZequan Wu .short 0x200 # Properties ( HasUniqueName (0x200) ) 442c45975cbSZequan Wu .long 0x1006 # FieldList: <field list> 443c45975cbSZequan Wu .long 0x0 # DerivedFrom 444c45975cbSZequan Wu .long 0x0 # VShape 445c45975cbSZequan Wu .short 0x1 # SizeOf 446c45975cbSZequan Wu .asciz "Class1" # Name 447c45975cbSZequan Wu .asciz ".?AVClass1@@" # LinkageName 448c45975cbSZequan Wu .byte 242 449c45975cbSZequan Wu .byte 241 450c45975cbSZequan Wu # StringId (0x1008) 451c45975cbSZequan Wu .short 0x12 # Record length 452c45975cbSZequan Wu .short 0x1605 # Record kind: LF_STRING_ID 453c45975cbSZequan Wu .long 0x0 # Id 454c45975cbSZequan Wu .asciz "/tmp/./b.h" # StringData 455c45975cbSZequan Wu .byte 241 456c45975cbSZequan Wu # UdtSourceLine (0x1009) 457c45975cbSZequan Wu .short 0xe # Record length 458c45975cbSZequan Wu .short 0x1606 # Record kind: LF_UDT_SRC_LINE 459c45975cbSZequan Wu .long 0x1007 # UDT: Class1 460c45975cbSZequan Wu .long 0x1008 # SourceFile: /tmp/./b.h 461c45975cbSZequan Wu .long 0x2 # LineNumber 462c45975cbSZequan Wu # MemberFuncId (0x100A) 463c45975cbSZequan Wu .short 0xe # Record length 464c45975cbSZequan Wu .short 0x1602 # Record kind: LF_MFUNC_ID 465c45975cbSZequan Wu .long 0x1004 # ClassType: Class1 466c45975cbSZequan Wu .long 0x1005 # FunctionType: int Class1::(int) 467c45975cbSZequan Wu .asciz "bar" # Name 468c45975cbSZequan Wu # Class (0x100B) 469c45975cbSZequan Wu .short 0x42 # Record length 470c45975cbSZequan Wu .short 0x1504 # Record kind: LF_CLASS 471c45975cbSZequan Wu .short 0x0 # MemberCount 472c45975cbSZequan Wu .short 0x280 # Properties ( ForwardReference (0x80) | HasUniqueName (0x200) ) 473c45975cbSZequan Wu .long 0x0 # FieldList 474c45975cbSZequan Wu .long 0x0 # DerivedFrom 475c45975cbSZequan Wu .long 0x0 # VShape 476c45975cbSZequan Wu .short 0x0 # SizeOf 477c45975cbSZequan Wu .asciz "Namespace2::Class2" # Name 478c45975cbSZequan Wu .asciz ".?AVClass2@Namespace2@@" # LinkageName 479c45975cbSZequan Wu .byte 243 480c45975cbSZequan Wu .byte 242 481c45975cbSZequan Wu .byte 241 482c45975cbSZequan Wu # MemberFunction (0x100C) 483c45975cbSZequan Wu .short 0x1a # Record length 484c45975cbSZequan Wu .short 0x1009 # Record kind: LF_MFUNCTION 485c45975cbSZequan Wu .long 0x74 # ReturnType: int 486c45975cbSZequan Wu .long 0x100b # ClassType: Namespace2::Class2 487c45975cbSZequan Wu .long 0x0 # ThisType 488c45975cbSZequan Wu .byte 0x0 # CallingConvention: NearC 489c45975cbSZequan Wu .byte 0x0 # FunctionOptions 490c45975cbSZequan Wu .short 0x1 # NumParameters 491c45975cbSZequan Wu .long 0x1001 # ArgListType: (int) 492c45975cbSZequan Wu .long 0x0 # ThisAdjustment 493c45975cbSZequan Wu # FieldList (0x100D) 494c45975cbSZequan Wu .short 0x12 # Record length 495c45975cbSZequan Wu .short 0x1203 # Record kind: LF_FIELDLIST 496c45975cbSZequan Wu .short 0x1511 # Member kind: OneMethod ( LF_ONEMETHOD ) 497c45975cbSZequan Wu .short 0xb # Attrs: Public, Static 498c45975cbSZequan Wu .long 0x100c # Type: int Namespace2::Class2::(int) 499c45975cbSZequan Wu .asciz "func" # Name 500c45975cbSZequan Wu .byte 243 501c45975cbSZequan Wu .byte 242 502c45975cbSZequan Wu .byte 241 503c45975cbSZequan Wu # Class (0x100E) 504c45975cbSZequan Wu .short 0x42 # Record length 505c45975cbSZequan Wu .short 0x1504 # Record kind: LF_CLASS 506c45975cbSZequan Wu .short 0x1 # MemberCount 507c45975cbSZequan Wu .short 0x200 # Properties ( HasUniqueName (0x200) ) 508c45975cbSZequan Wu .long 0x100d # FieldList: <field list> 509c45975cbSZequan Wu .long 0x0 # DerivedFrom 510c45975cbSZequan Wu .long 0x0 # VShape 511c45975cbSZequan Wu .short 0x1 # SizeOf 512c45975cbSZequan Wu .asciz "Namespace2::Class2" # Name 513c45975cbSZequan Wu .asciz ".?AVClass2@Namespace2@@" # LinkageName 514c45975cbSZequan Wu .byte 243 515c45975cbSZequan Wu .byte 242 516c45975cbSZequan Wu .byte 241 517c45975cbSZequan Wu # StringId (0x100F) 518c45975cbSZequan Wu .short 0x12 # Record length 519c45975cbSZequan Wu .short 0x1605 # Record kind: LF_STRING_ID 520c45975cbSZequan Wu .long 0x0 # Id 521c45975cbSZequan Wu .asciz "/tmp/./c.h" # StringData 522c45975cbSZequan Wu .byte 241 523c45975cbSZequan Wu # UdtSourceLine (0x1010) 524c45975cbSZequan Wu .short 0xe # Record length 525c45975cbSZequan Wu .short 0x1606 # Record kind: LF_UDT_SRC_LINE 526c45975cbSZequan Wu .long 0x100e # UDT: Namespace2::Class2 527c45975cbSZequan Wu .long 0x100f # SourceFile: /tmp/./c.h 528c45975cbSZequan Wu .long 0x2 # LineNumber 529c45975cbSZequan Wu # MemberFuncId (0x1011) 530c45975cbSZequan Wu .short 0x12 # Record length 531c45975cbSZequan Wu .short 0x1602 # Record kind: LF_MFUNC_ID 532c45975cbSZequan Wu .long 0x100b # ClassType: Namespace2::Class2 533c45975cbSZequan Wu .long 0x100c # FunctionType: int Namespace2::Class2::(int) 534c45975cbSZequan Wu .asciz "func" # Name 535c45975cbSZequan Wu .byte 243 536c45975cbSZequan Wu .byte 242 537c45975cbSZequan Wu .byte 241 538c45975cbSZequan Wu # Pointer (0x1012) 539c45975cbSZequan Wu .short 0xa # Record length 540c45975cbSZequan Wu .short 0x1002 # Record kind: LF_POINTER 541c45975cbSZequan Wu .long 0x670 # PointeeType: char* 542c45975cbSZequan Wu .long 0x1000c # Attrs: [ Type: Near64, Mode: Pointer, SizeOf: 8 ] 543c45975cbSZequan Wu # ArgList (0x1013) 544c45975cbSZequan Wu .short 0xe # Record length 545c45975cbSZequan Wu .short 0x1201 # Record kind: LF_ARGLIST 546c45975cbSZequan Wu .long 0x2 # NumArgs 547c45975cbSZequan Wu .long 0x74 # Argument: int 548c45975cbSZequan Wu .long 0x1012 # Argument: char** 549c45975cbSZequan Wu # Procedure (0x1014) 550c45975cbSZequan Wu .short 0xe # Record length 551c45975cbSZequan Wu .short 0x1008 # Record kind: LF_PROCEDURE 552c45975cbSZequan Wu .long 0x74 # ReturnType: int 553c45975cbSZequan Wu .byte 0x0 # CallingConvention: NearC 554c45975cbSZequan Wu .byte 0x0 # FunctionOptions 555c45975cbSZequan Wu .short 0x2 # NumParameters 556c45975cbSZequan Wu .long 0x1013 # ArgListType: (int, char**) 557c45975cbSZequan Wu # FuncId (0x1015) 558c45975cbSZequan Wu .short 0x12 # Record length 559c45975cbSZequan Wu .short 0x1601 # Record kind: LF_FUNC_ID 560c45975cbSZequan Wu .long 0x0 # ParentScope 561c45975cbSZequan Wu .long 0x1014 # FunctionType: int (int, char**) 562c45975cbSZequan Wu .asciz "main" # Name 563c45975cbSZequan Wu .byte 243 564c45975cbSZequan Wu .byte 242 565c45975cbSZequan Wu .byte 241 566c45975cbSZequan Wu # Modifier (0x1016) 567c45975cbSZequan Wu .short 0xa # Record length 568c45975cbSZequan Wu .short 0x1001 # Record kind: LF_MODIFIER 569c45975cbSZequan Wu .long 0x74 # ModifiedType: int 570c45975cbSZequan Wu .short 0x2 # Modifiers ( Volatile (0x2) ) 571c45975cbSZequan Wu .byte 242 572c45975cbSZequan Wu .byte 241 573c45975cbSZequan Wu # StringId (0x1017) 574c45975cbSZequan Wu .short 0xe # Record length 575c45975cbSZequan Wu .short 0x1605 # Record kind: LF_STRING_ID 576c45975cbSZequan Wu .long 0x0 # Id 577c45975cbSZequan Wu .asciz "/tmp" # StringData 578c45975cbSZequan Wu .byte 243 579c45975cbSZequan Wu .byte 242 580c45975cbSZequan Wu .byte 241 581c45975cbSZequan Wu # StringId (0x1018) 582c45975cbSZequan Wu .short 0xe # Record length 583c45975cbSZequan Wu .short 0x1605 # Record kind: LF_STRING_ID 584c45975cbSZequan Wu .long 0x0 # Id 585c45975cbSZequan Wu .asciz "a.cpp" # StringData 586c45975cbSZequan Wu .byte 242 587c45975cbSZequan Wu .byte 241 588c45975cbSZequan Wu # StringId (0x1019) 589c45975cbSZequan Wu .short 0xa # Record length 590c45975cbSZequan Wu .short 0x1605 # Record kind: LF_STRING_ID 591c45975cbSZequan Wu .long 0x0 # Id 592c45975cbSZequan Wu .byte 0 # StringData 593c45975cbSZequan Wu .byte 243 594c45975cbSZequan Wu .byte 242 595c45975cbSZequan Wu .byte 241 596c45975cbSZequan Wu # StringId (0x101A) 597c45975cbSZequan Wu .short 0x4e # Record length 598c45975cbSZequan Wu .short 0x1605 # Record kind: LF_STRING_ID 599c45975cbSZequan Wu .long 0x0 # Id 600c45975cbSZequan Wu .asciz "/usr/local/google/home/zequanwu/llvm-project/build/release/bin/clang" # StringData 601c45975cbSZequan Wu .byte 243 602c45975cbSZequan Wu .byte 242 603c45975cbSZequan Wu .byte 241 604c45975cbSZequan Wu # StringId (0x101B) 605c45975cbSZequan Wu .short 0x9f6 # Record length 606c45975cbSZequan Wu .short 0x1605 # Record kind: LF_STRING_ID 607c45975cbSZequan Wu .long 0x0 # Id 608c45975cbSZequan Wu .asciz "\"-cc1\" \"-triple\" \"x86_64-pc-windows-msvc19.20.0\" \"-S\" \"-disable-free\" \"-clear-ast-before-backend\" \"-disable-llvm-verifier\" \"-discard-value-names\" \"-mrelocation-model\" \"pic\" \"-pic-level\" \"2\" \"-mframe-pointer=none\" \"-relaxed-aliasing\" \"-fmath-errno\" \"-ffp-contract=on\" \"-fno-rounding-math\" \"-mconstructor-aliases\" \"-funwind-tables=2\" \"-target-cpu\" \"x86-64\" \"-mllvm\" \"-x86-asm-syntax=intel\" \"-tune-cpu\" \"generic\" \"-mllvm\" \"-treat-scalable-fixed-error-as-warning\" \"-D_MT\" \"-flto-visibility-public-std\" \"--dependent-lib=libcmt\" \"--dependent-lib=oldnames\" \"-stack-protector\" \"2\" \"-fms-volatile\" \"-fdiagnostics-format\" \"msvc\" \"-gno-column-info\" \"-gcodeview\" \"-debug-info-kind=constructor\" \"-ffunction-sections\" \"-fcoverage-compilation-dir=/tmp\" \"-resource-dir\" \"/usr/local/google/home/zequanwu/llvm-project/build/release/lib/clang/15.0.0\" \"-internal-isystem\" \"/usr/local/google/home/zequanwu/llvm-project/build/release/lib/clang/15.0.0/include\" \"-internal-isystem\" \"/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/DIA SDK/include\" \"-internal-isystem\" \"/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/VC/Tools/MSVC/14.26.28801/include\" \"-internal-isystem\" \"/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/VC/Tools/MSVC/14.26.28801/atlmfc/include\" \"-internal-isystem\" \"/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/Windows Kits/10/Include/10.0.19041.0/ucrt\" \"-internal-isystem\" \"/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/Windows Kits/10/Include/10.0.19041.0/shared\" \"-internal-isystem\" \"/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/Windows Kits/10/Include/10.0.19041.0/um\" \"-internal-isystem\" \"/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/Windows Kits/10/Include/10.0.19041.0/winrt\" \"-internal-isystem\" \"/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/Windows Kits/10/Include/10.0.19041.0/cppwinrt\" \"-Os\" \"-fdeprecated-macro\" \"-fdebug-compilation-dir=/tmp\" \"-ferror-limit\" \"19\" \"-fno-use-cxa-atexit\" \"-fms-extensions\" \"-fms-compatibility\" \"-fms-compatibility-version=19.20\" \"-std=c++14\" \"-fdelayed-template-parsing\" \"-fcolor-diagnostics\" \"-vectorize-loops\" \"-vectorize-slp\" \"-faddrsig\" \"-x\" \"c++\"" # StringData 609c45975cbSZequan Wu .byte 242 610c45975cbSZequan Wu .byte 241 611c45975cbSZequan Wu # BuildInfo (0x101C) 612c45975cbSZequan Wu .short 0x1a # Record length 613c45975cbSZequan Wu .short 0x1603 # Record kind: LF_BUILDINFO 614c45975cbSZequan Wu .short 0x5 # NumArgs 615c45975cbSZequan Wu .long 0x1017 # Argument: /tmp 616c45975cbSZequan Wu .long 0x101a # Argument: /usr/local/google/home/zequanwu/llvm-project/build/release/bin/clang 617c45975cbSZequan Wu .long 0x1018 # Argument: a.cpp 618c45975cbSZequan Wu .long 0x1019 # Argument 619c45975cbSZequan Wu .long 0x101b # Argument: "-cc1" "-triple" "x86_64-pc-windows-msvc19.20.0" "-S" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-mrelocation-model" "pic" "-pic-level" "2" "-mframe-pointer=none" "-relaxed-aliasing" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=2" "-target-cpu" "x86-64" "-mllvm" "-x86-asm-syntax=intel" "-tune-cpu" "generic" "-mllvm" "-treat-scalable-fixed-error-as-warning" "-D_MT" "-flto-visibility-public-std" "--dependent-lib=libcmt" "--dependent-lib=oldnames" "-stack-protector" "2" "-fms-volatile" "-fdiagnostics-format" "msvc" "-gno-column-info" "-gcodeview" "-debug-info-kind=constructor" "-ffunction-sections" "-fcoverage-compilation-dir=/tmp" "-resource-dir" "/usr/local/google/home/zequanwu/llvm-project/build/release/lib/clang/15.0.0" "-internal-isystem" "/usr/local/google/home/zequanwu/llvm-project/build/release/lib/clang/15.0.0/include" "-internal-isystem" "/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/DIA SDK/include" "-internal-isystem" "/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/VC/Tools/MSVC/14.26.28801/include" "-internal-isystem" "/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/VC/Tools/MSVC/14.26.28801/atlmfc/include" "-internal-isystem" "/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/Windows Kits/10/Include/10.0.19041.0/ucrt" "-internal-isystem" "/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/Windows Kits/10/Include/10.0.19041.0/shared" "-internal-isystem" "/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/Windows Kits/10/Include/10.0.19041.0/um" "-internal-isystem" "/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/Windows Kits/10/Include/10.0.19041.0/winrt" "-internal-isystem" "/usr/local/google/home/zequanwu/chromium/src/third_party/depot_tools/win_toolchain/vs_files/3bda71a11e/Windows Kits/10/Include/10.0.19041.0/cppwinrt" "-Os" "-fdeprecated-macro" "-fdebug-compilation-dir=/tmp" "-ferror-limit" "19" "-fno-use-cxa-atexit" "-fms-extensions" "-fms-compatibility" "-fms-compatibility-version=19.20" "-std=c++14" "-fdelayed-template-parsing" "-fcolor-diagnostics" "-vectorize-loops" "-vectorize-slp" "-faddrsig" "-x" "c++" 620c45975cbSZequan Wu .byte 242 621c45975cbSZequan Wu .byte 241 622c45975cbSZequan Wu .addrsig 623