From 1fb0cb9e6cf695a6e0727707e2261a787a8f84d4 Mon Sep 17 00:00:00 2001
From: "SND\\kernelnet_cp"
 <SND\kernelnet_cp@9b283d60-5439-405e-af05-b73fd8c4d996>
Date: Wed, 16 May 2012 13:27:47 +0000
Subject: [PATCH] [0.1.x] test : diamond virtual inheritance problem

git-svn-id: https://pykd.svn.codeplex.com/svn@76380 9b283d60-5439-405e-af05-b73fd8c4d996
---
 test/targetapp/targetapp.cpp | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/test/targetapp/targetapp.cpp b/test/targetapp/targetapp.cpp
index c57d391..3330dce 100644
--- a/test/targetapp/targetapp.cpp
+++ b/test/targetapp/targetapp.cpp
@@ -313,6 +313,38 @@ fieldSameNameStruct g_fieldSameNameStruct;
 
 ////////////////////////////////////////////////////////////////////////////////
 
+class VirtualBaseClass1 : public virtual classBase
+{
+    int     m_member;
+
+public:
+    VirtualBaseClass1() : m_member(123){}
+
+    virtual void virtFunc() {}
+    virtual void virtFunc2() {}
+};
+
+class VirtualBaseClass2 : public virtual classBase
+{
+    int     m_member;
+
+public:
+    VirtualBaseClass2() : m_member(345){}
+
+    virtual void virtFunc() {}
+    virtual void virtFunc2() {}
+};
+
+class VirtualChildClass : public VirtualBaseClass1, public  VirtualBaseClass2
+{
+    void virtFunc() {}
+    void virtFunc2() {}
+};
+
+VirtualChildClass       g_virtChild;
+
+////////////////////////////////////////////////////////////////////////////////
+
 WNDENUMPROC g_ptrToFunction;
 void *g_unTypedPtrToFunction = g_ptrToFunction;
 #pragma pack( pop )
@@ -393,6 +425,8 @@ void FuncWithName0()
     std::cout << g_fieldSameNameStruct.baseStruct2::m_field;
 
     std::cout << g_structTypeDef.m_field0;
+
+    std::cout << g_virtChild.VirtualBaseClass1::m_baseField;
 }
 
 ////////////////////////////////////////////////////////////////////////////////