diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:41:05 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:41:05 +0000 |
commit | 01095a5d43bbfde13731688ddcf6048ebb8b7721 (patch) | |
tree | 4def12e759965de927d963ac65840d663ef9d1ea /test/tools/llvm-readobj/codeview-vftable.test | |
parent | f0f4822ed4b66e3579e92a89f368f8fb860e218e (diff) |
Diffstat (limited to 'test/tools/llvm-readobj/codeview-vftable.test')
-rw-r--r-- | test/tools/llvm-readobj/codeview-vftable.test | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/test/tools/llvm-readobj/codeview-vftable.test b/test/tools/llvm-readobj/codeview-vftable.test new file mode 100644 index 0000000000000..772f0c764983a --- /dev/null +++ b/test/tools/llvm-readobj/codeview-vftable.test @@ -0,0 +1,48 @@ +; The following two object files were generated using the following command: +; $ cl /Z7 /c t.cpp +; The contents of t.cpp follow: +; struct A { +; virtual void f(); +; }; +; struct B { +; virtual void f(); +; virtual void g(); +; }; +; struct C { +; virtual void f(); +; virtual void g(); +; virtual void h(); +; }; +; A a; +; B b; +; C c; + +RUN: llvm-readobj -codeview %p/Inputs/codeview-vftable.obj.coff | FileCheck %s + +CHECK: VFTable (0x10F0) { +CHECK-NEXT: TypeLeafKind: LF_VFTABLE (0x151D) +CHECK-NEXT: CompleteClass: A +CHECK-NEXT: OverriddenVFTable: 0x0 +CHECK-NEXT: VFPtrOffset: 0x0 +CHECK-NEXT: VFTableName: ??_7A@@6B@ +CHECK-NEXT: MethodName: ?f@A@@UEAAXXZ +CHECK-NEXT: } +CHECK-NEXT: VFTable (0x10F1) { +CHECK-NEXT: TypeLeafKind: LF_VFTABLE (0x151D) +CHECK-NEXT: CompleteClass: B +CHECK-NEXT: OverriddenVFTable: ??_7A@@6B@ (0x10F0) +CHECK-NEXT: VFPtrOffset: 0x0 +CHECK-NEXT: VFTableName: ??_7B@@6B@ +CHECK-NEXT: MethodName: ?f@B@@UEAAXXZ +CHECK-NEXT: MethodName: ?g@B@@UEAAXXZ +CHECK-NEXT: } +CHECK-NEXT: VFTable (0x10F2) { +CHECK-NEXT: TypeLeafKind: LF_VFTABLE (0x151D) +CHECK-NEXT: CompleteClass: C +CHECK-NEXT: OverriddenVFTable: ??_7B@@6B@ (0x10F1) +CHECK-NEXT: VFPtrOffset: 0x0 +CHECK-NEXT: VFTableName: ??_7C@@6B@ +CHECK-NEXT: MethodName: ?f@C@@UEAAXXZ +CHECK-NEXT: MethodName: ?g@C@@UEAAXXZ +CHECK-NEXT: MethodName: ?h@C@@UEAAXXZ +CHECK-NEXT: } |