REQUIRES: diasdk

Input object file reconstruction:

; // main.cpp
; struct Base {
;   virtual int V2() { return 42; }
; };
; 
; struct Derived : public Base {
;   int V2() override { return 42; }
; };
; 
; int main()
; {
;   Derived D;
;   return D.V2();
; }

clang-cl /Z7 /GS- /GR- /c main.cpp /Foglobals-dia-vfunc-simple.obj

RUN: lld-link /debug /nodefaultlib /entry:main /out:%t.exe %S/Inputs/globals-dia-vfunc-simple.obj
RUN: llvm-pdbutil pretty -classes %t.pdb | FileCheck %s

CHECK: func [0x00001070+ 0 - 0x0000107c-12 | sizeof= 12] (FPO) virtual {{.*}}V2()
CHECK: func [0x000010a0+ 0 - 0x000010ac-12 | sizeof= 12] (FPO) virtual {{.*}}V2()
