1REQUIRES: diasdk
2
3Input object file reconstruction:
4
5; // foo.cpp
6; void LJPwNRh() {}
7; void HGfxvKdQO() {}
8; void wuN() {}
9; void tEo() {}
10; void VUo() {}
11; void teO() {}
12; void bqSuLGQgWa() {}
13; void SyJYcL() {}
14; void OUV() {}
15; void quH() {}
16; void rbEaPKrlrRwk() {}
17; void oet() {}
18; void tuM() {}
19; void LuU() {}
20; void loxueqJLH() {}
21; void QplRJuDs() {}
22; void rWDokkLG() {}
23; void sEH() {}
24; void pui() {}
25; void xoZvxw() {}
26;
27; int main(int argc, char **argv) {
28;   return 0;
29; }
30
31clang-cl /Z7 /GS- /GR- /c main.cpp /Foglobals-dia-func-collision3.obj
32
33RUN: lld-link /debug /nodefaultlib /incremental:no /entry:main /out:%t.exe %S/Inputs/globals-dia-func-collision3.obj
34RUN: llvm-pdbutil pretty -with-name=LuU -with-name=oet -with-name=OUV -with-name=pui \
35RUN:                     -with-name=quH -with-name=sEH -with-name=teO -with-name=tEo \
36RUN:                     -with-name=tuM -with-name=VUo -with-name=wuN -with-name=SyJYcL \
37RUN:                     -with-name=xoZvxw -with-name=LJPwNRh -with-name=QplRJuDs -with-name=rWDokkLG \
38RUN:                     -with-name=HGfxvKdQO -with-name=loxueqJLH -with-name=bqSuLGQgWa -with-name=rbEaPKrlrRwk \
39RUN:                     %t.pdb | FileCheck %s
40
41
42CHECK:      [1 occurrences] - LuU
43CHECK-NEXT:   func [0x000010d0+ 0 - 0x000010d1- 1 | sizeof=  1] (FPO) void __cdecl LuU()
44CHECK-NEXT: [1 occurrences] - oet
45CHECK-NEXT:   func [0x000010b0+ 0 - 0x000010b1- 1 | sizeof=  1] (FPO) void __cdecl oet()
46CHECK-NEXT: [1 occurrences] - OUV
47CHECK-NEXT:   func [0x00001080+ 0 - 0x00001081- 1 | sizeof=  1] (FPO) void __cdecl OUV()
48CHECK-NEXT: [1 occurrences] - pui
49CHECK-NEXT:   func [0x00001120+ 0 - 0x00001121- 1 | sizeof=  1] (FPO) void __cdecl pui()
50CHECK-NEXT: [1 occurrences] - quH
51CHECK-NEXT:   func [0x00001090+ 0 - 0x00001091- 1 | sizeof=  1] (FPO) void __cdecl quH()
52CHECK-NEXT: [1 occurrences] - sEH
53CHECK-NEXT:   func [0x00001110+ 0 - 0x00001111- 1 | sizeof=  1] (FPO) void __cdecl sEH()
54CHECK-NEXT: [1 occurrences] - teO
55CHECK-NEXT:   func [0x00001050+ 0 - 0x00001051- 1 | sizeof=  1] (FPO) void __cdecl teO()
56CHECK-NEXT: [1 occurrences] - tEo
57CHECK-NEXT:   func [0x00001030+ 0 - 0x00001031- 1 | sizeof=  1] (FPO) void __cdecl tEo()
58CHECK-NEXT: [1 occurrences] - tuM
59CHECK-NEXT:   func [0x000010c0+ 0 - 0x000010c1- 1 | sizeof=  1] (FPO) void __cdecl tuM()
60CHECK-NEXT: [1 occurrences] - VUo
61CHECK-NEXT:   func [0x00001040+ 0 - 0x00001041- 1 | sizeof=  1] (FPO) void __cdecl VUo()
62CHECK-NEXT: [1 occurrences] - wuN
63CHECK-NEXT:   func [0x00001020+ 0 - 0x00001021- 1 | sizeof=  1] (FPO) void __cdecl wuN()
64CHECK-NEXT: [1 occurrences] - SyJYcL
65CHECK-NEXT:   func [0x00001070+ 0 - 0x00001071- 1 | sizeof=  1] (FPO) void __cdecl SyJYcL()
66CHECK-NEXT: [1 occurrences] - xoZvxw
67CHECK-NEXT:   func [0x00001130+ 0 - 0x00001131- 1 | sizeof=  1] (FPO) void __cdecl xoZvxw()
68CHECK-NEXT: [1 occurrences] - LJPwNRh
69CHECK-NEXT:   func [0x00001000+ 0 - 0x00001001- 1 | sizeof=  1] (FPO) void __cdecl LJPwNRh()
70CHECK-NEXT: [1 occurrences] - QplRJuDs
71CHECK-NEXT:   func [0x000010f0+ 0 - 0x000010f1- 1 | sizeof=  1] (FPO) void __cdecl QplRJuDs()
72CHECK-NEXT: [1 occurrences] - rWDokkLG
73CHECK-NEXT:   func [0x00001100+ 0 - 0x00001101- 1 | sizeof=  1] (FPO) void __cdecl rWDokkLG()
74CHECK-NEXT: [1 occurrences] - HGfxvKdQO
75CHECK-NEXT:   func [0x00001010+ 0 - 0x00001011- 1 | sizeof=  1] (FPO) void __cdecl HGfxvKdQO()
76CHECK-NEXT: [1 occurrences] - loxueqJLH
77CHECK-NEXT:   func [0x000010e0+ 0 - 0x000010e1- 1 | sizeof=  1] (FPO) void __cdecl loxueqJLH()
78CHECK-NEXT: [1 occurrences] - bqSuLGQgWa
79CHECK-NEXT:   func [0x00001060+ 0 - 0x00001061- 1 | sizeof=  1] (FPO) void __cdecl bqSuLGQgWa()
80CHECK-NEXT: [1 occurrences] - rbEaPKrlrRwk
81CHECK-NEXT:   func [0x000010a0+ 0 - 0x000010a1- 1 | sizeof=  1] (FPO) void __cdecl rbEaPKrlrRwk()
82