diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2016-09-13 01:13:19 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2016-09-13 01:13:19 +0000 |
commit | eeb56abe643929f570006917c088e53bc7c896a4 (patch) | |
tree | 8ab0ef53b7f276c157d86f71eb1200e944be668b /clang/test/CodeGenCXX/debug-info-ms-vbase.cpp | |
parent | d4135bbc30de3d3dbd44d64d718fb2169f41bae0 (diff) | |
download | bcm5719-llvm-eeb56abe643929f570006917c088e53bc7c896a4.tar.gz bcm5719-llvm-eeb56abe643929f570006917c088e53bc7c896a4.zip |
Update Clang for D20147 ("DebugInfo: New metadata representation for global variables.")
Differential Revision: http://reviews.llvm.org/D20415
llvm-svn: 281285
Diffstat (limited to 'clang/test/CodeGenCXX/debug-info-ms-vbase.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/debug-info-ms-vbase.cpp | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/clang/test/CodeGenCXX/debug-info-ms-vbase.cpp b/clang/test/CodeGenCXX/debug-info-ms-vbase.cpp index 810212e8d2a..1590657d818 100644 --- a/clang/test/CodeGenCXX/debug-info-ms-vbase.cpp +++ b/clang/test/CodeGenCXX/debug-info-ms-vbase.cpp @@ -2,11 +2,27 @@ // Tests virtual bases in the MS ABI. -struct POD { int pod; }; +// CHECK: ![[NoPrimaryBase:[0-9]+]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "NoPrimaryBase", +// CHECK-SAME: elements: ![[elements:[0-9]+]] -struct DynamicNoVFPtr : virtual POD { }; +// CHECK: ![[elements]] = !{![[NoPrimaryBase_base:[0-9]+]]} -DynamicNoVFPtr dynamic_no_vfptr; +// CHECK: ![[NoPrimaryBase_base]] = !DIDerivedType(tag: DW_TAG_inheritance, scope: ![[NoPrimaryBase]], +// CHECK-SAME: baseType: ![[HasVirtualMethod:[0-9]+]], offset: 4, flags: DIFlagVirtual) + +// CHECK: ![[HasVirtualMethod]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "HasVirtualMethod" + +// CHECK: ![[HasPrimaryBase:[0-9]+]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "HasPrimaryBase", +// CHECK-SAME: elements: ![[elements:[0-9]+]] + +// CHECK: ![[elements]] = !{![[SecondaryVTable_base:[0-9]+]], ![[HasVirtualMethod_base:[0-9]+]], ![[vshape:[0-9]+]]} + +// CHECK: ![[SecondaryVTable_base]] = !DIDerivedType(tag: DW_TAG_inheritance, scope: ![[HasPrimaryBase]], +// CHECK-SAME: baseType: ![[SecondaryVTable:[0-9]+]], offset: 4, flags: DIFlagVirtual) + +// CHECK: ![[SecondaryVTable]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "SecondaryVTable" + +// CHECK: ![[HasVirtualMethod_base]] = !DIDerivedType(tag: DW_TAG_inheritance, scope: ![[HasPrimaryBase]], baseType: ![[HasVirtualMethod]]) // CHECK: ![[DynamicNoVFPtr:[0-9]+]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "DynamicNoVFPtr", // CHECK-SAME: elements: ![[elements:[0-9]+]] @@ -18,21 +34,17 @@ DynamicNoVFPtr dynamic_no_vfptr; // CHECK: ![[POD]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "POD" -struct HasVirtualMethod { virtual void f(); }; - -struct NoPrimaryBase : virtual HasVirtualMethod { }; +struct POD { int pod; }; -NoPrimaryBase no_primary_base; +struct DynamicNoVFPtr : virtual POD { }; -// CHECK: ![[NoPrimaryBase:[0-9]+]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "NoPrimaryBase", -// CHECK-SAME: elements: ![[elements:[0-9]+]] +DynamicNoVFPtr dynamic_no_vfptr; -// CHECK: ![[elements]] = !{![[NoPrimaryBase_base:[0-9]+]]} +struct HasVirtualMethod { virtual void f(); }; -// CHECK: ![[NoPrimaryBase_base]] = !DIDerivedType(tag: DW_TAG_inheritance, scope: ![[NoPrimaryBase]], -// CHECK-SAME: baseType: ![[HasVirtualMethod:[0-9]+]], offset: 4, flags: DIFlagVirtual) +struct NoPrimaryBase : virtual HasVirtualMethod { }; -// CHECK: ![[HasVirtualMethod]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "HasVirtualMethod" +NoPrimaryBase no_primary_base; struct SecondaryVTable { virtual void g(); }; @@ -40,15 +52,3 @@ struct HasPrimaryBase : virtual SecondaryVTable, HasVirtualMethod { }; HasPrimaryBase has_primary_base; -// CHECK: ![[HasPrimaryBase:[0-9]+]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "HasPrimaryBase", -// CHECK-SAME: elements: ![[elements:[0-9]+]] - -// CHECK: ![[elements]] = !{![[SecondaryVTable_base:[0-9]+]], ![[HasVirtualMethod_base:[0-9]+]], ![[vshape:[0-9]+]]} - -// CHECK: ![[SecondaryVTable_base]] = !DIDerivedType(tag: DW_TAG_inheritance, scope: ![[HasPrimaryBase]], -// CHECK-SAME: baseType: ![[SecondaryVTable:[0-9]+]], offset: 4, flags: DIFlagVirtual) - -// CHECK: ![[SecondaryVTable]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "SecondaryVTable" - -// CHECK: ![[HasVirtualMethod_base]] = !DIDerivedType(tag: DW_TAG_inheritance, scope: ![[HasPrimaryBase]], baseType: ![[HasVirtualMethod]]) - |