binutils-gdb/gdb/testsuite/gdb.cp/pr9167.cc

37 lines
536 B
C++

#include <iostream>
template<typename DATA>
struct ATB
{
int data;
ATB() : data(0) {}
};
template<typename DATA,
typename DerivedType >
class A : public ATB<DATA>
{
public:
static DerivedType const DEFAULT_INSTANCE;
};
template<typename DATA, typename DerivedType>
const DerivedType A<DATA, DerivedType>::DEFAULT_INSTANCE;
class B : public A<int, B>
{
};
int main()
{
B b;
// If this if-block is removed then GDB shall
// not infinitely recurse when trying to print b.
return 0; // marker
}