Summary: Moves lldbsuite tests to lldb/test/API.
This is a largely mechanical change, moved with the following steps:
```
rm lldb/test/API/testcases
mkdir -p lldb/test/API/{test_runner/test,tools/lldb-{server,vscode}}
mv lldb/packages/Python/lldbsuite/test/test_runner/test lldb/test/API/test_runner
for d in $(find lldb/packages/Python/lldbsuite/test/* -maxdepth 0 -type d | egrep -v "make|plugins|test_runner|tools"); do mv $d lldb/test/API; done
for d in $(find lldb/packages/Python/lldbsuite/test/tools/lldb-vscode -maxdepth 1 -mindepth 1 | grep -v ".py"); do mv $d lldb/test/API/tools/lldb-vscode; done
for d in $(find lldb/packages/Python/lldbsuite/test/tools/lldb-server -maxdepth 1 -mindepth 1 | egrep -v "gdbremote_testcase.py|lldbgdbserverutils.py|socket_packet_pump.py"); do mv $d lldb/test/API/tools/lldb-server; done
```
lldb/packages/Python/lldbsuite/__init__.py and lldb/test/API/lit.cfg.py were also updated with the new directory structure.
Reviewers: labath, JDevlieghere
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D71151
85 lines
1.7 KiB
C++
85 lines
1.7 KiB
C++
//===-- main.cpp ------------------------------------------------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
#include <stdio.h>
|
|
|
|
static int g_next_value = 12345;
|
|
|
|
class VBase
|
|
{
|
|
public:
|
|
VBase() : m_value(g_next_value++) {}
|
|
virtual ~VBase() {}
|
|
void Print()
|
|
{
|
|
printf("%p: %s\n%p: m_value = 0x%8.8x\n", this, __PRETTY_FUNCTION__, &m_value, m_value);
|
|
}
|
|
int m_value;
|
|
};
|
|
|
|
class Derived1 : public virtual VBase
|
|
{
|
|
public:
|
|
Derived1() {};
|
|
void Print ()
|
|
{
|
|
printf("%p: %s\n", this, __PRETTY_FUNCTION__);
|
|
VBase::Print();
|
|
}
|
|
|
|
};
|
|
|
|
class Derived2 : public virtual VBase
|
|
{
|
|
public:
|
|
Derived2() {};
|
|
|
|
void Print ()
|
|
{
|
|
printf("%p: %s\n", this, __PRETTY_FUNCTION__);
|
|
VBase::Print();
|
|
}
|
|
};
|
|
|
|
class Joiner1 : public Derived1, public Derived2
|
|
{
|
|
public:
|
|
Joiner1() :
|
|
m_joiner1(3456),
|
|
m_joiner2(6789) {}
|
|
void Print ()
|
|
{
|
|
printf("%p: %s \n%p: m_joiner1 = 0x%8.8x\n%p: m_joiner2 = 0x%8.8x\n",
|
|
this,
|
|
__PRETTY_FUNCTION__,
|
|
&m_joiner1,
|
|
m_joiner1,
|
|
&m_joiner2,
|
|
m_joiner2);
|
|
Derived1::Print();
|
|
Derived2::Print();
|
|
}
|
|
int m_joiner1;
|
|
int m_joiner2;
|
|
};
|
|
|
|
class Joiner2 : public Derived2
|
|
{
|
|
int m_stuff[32];
|
|
};
|
|
|
|
int main(int argc, const char * argv[])
|
|
{
|
|
Joiner1 j1;
|
|
Joiner2 j2;
|
|
j1.Print();
|
|
j2.Print();
|
|
Derived2 *d = &j1;
|
|
d = &j2; // breakpoint 1
|
|
return 0; // breakpoint 2
|
|
}
|