Home | History | Annotate | Download | only in llvm-readobj
      1 ; The following two object files were generated using the following command:
      2 ;   $ cl /Z7 /c t.cpp
      3 ; The contents of t.cpp follow:
      4 ;   struct A {
      5 ;     virtual void f();
      6 ;   };
      7 ;   struct B {
      8 ;     virtual void f();
      9 ;     virtual void g();
     10 ;   };
     11 ;   struct C {
     12 ;     virtual void f();
     13 ;     virtual void g();
     14 ;     virtual void h();
     15 ;   };
     16 ;   A a;
     17 ;   B b;
     18 ;   C c;
     19 
     20 RUN: llvm-readobj -codeview %p/Inputs/codeview-vftable.obj.coff | FileCheck %s
     21 
     22 CHECK:       VFTable (0x10F0) {
     23 CHECK-NEXT:    TypeLeafKind: LF_VFTABLE (0x151D)
     24 CHECK-NEXT:    CompleteClass: A
     25 CHECK-NEXT:    OverriddenVFTable: 0x0
     26 CHECK-NEXT:    VFPtrOffset: 0x0
     27 CHECK-NEXT:    VFTableName: ??_7A@@6B@
     28 CHECK-NEXT:    MethodName: ?f@A@@UEAAXXZ
     29 CHECK-NEXT:  }
     30 CHECK-NEXT:  VFTable (0x10F1) {
     31 CHECK-NEXT:    TypeLeafKind: LF_VFTABLE (0x151D)
     32 CHECK-NEXT:    CompleteClass: B
     33 CHECK-NEXT:    OverriddenVFTable: ??_7A@@6B@ (0x10F0)
     34 CHECK-NEXT:    VFPtrOffset: 0x0
     35 CHECK-NEXT:    VFTableName: ??_7B@@6B@
     36 CHECK-NEXT:    MethodName: ?f@B@@UEAAXXZ
     37 CHECK-NEXT:    MethodName: ?g@B@@UEAAXXZ
     38 CHECK-NEXT:  }
     39 CHECK-NEXT:  VFTable (0x10F2) {
     40 CHECK-NEXT:    TypeLeafKind: LF_VFTABLE (0x151D)
     41 CHECK-NEXT:    CompleteClass: C
     42 CHECK-NEXT:    OverriddenVFTable: ??_7B@@6B@ (0x10F1)
     43 CHECK-NEXT:    VFPtrOffset: 0x0
     44 CHECK-NEXT:    VFTableName: ??_7C@@6B@
     45 CHECK-NEXT:    MethodName: ?f@C@@UEAAXXZ
     46 CHECK-NEXT:    MethodName: ?g@C@@UEAAXXZ
     47 CHECK-NEXT:    MethodName: ?h@C@@UEAAXXZ
     48 CHECK-NEXT:  }
     49