ed0616c6b7
(expand_line_sal_maybe): New. (create_breakpoints): Call expand_line_sal_maybe. (clear_command): Add comment. (breakpoint_re_set_one): Call expand_line_sal_maybe. * linespec.c (decode_indirect): Set explicit_pc to 1. (decode_all_digits): Set explicit_line to 1. (append_expanded_sal): New. (expand_line_sal): New. * linespec.h (expand_line_sal): Declare. * symtab.c (init_sal): Initialize explicit_pc and explicit_line. * symtab.h (struct symtab_and_line): New fields explicit_pc and explicit_line.
58 lines
762 B
C++
58 lines
762 B
C++
|
|
#include <stdio.h>
|
|
|
|
class Base
|
|
{
|
|
public:
|
|
Base(int k);
|
|
~Base();
|
|
virtual void foo() {}
|
|
private:
|
|
int k;
|
|
};
|
|
|
|
Base::Base(int k)
|
|
{
|
|
this->k = k;
|
|
}
|
|
|
|
Base::~Base()
|
|
{
|
|
printf("~Base\n");
|
|
}
|
|
|
|
class Derived : public virtual Base
|
|
{
|
|
public:
|
|
Derived(int i);
|
|
~Derived();
|
|
private:
|
|
int i;
|
|
};
|
|
|
|
Derived::Derived(int i) : Base(i)
|
|
{
|
|
this->i = i;
|
|
}
|
|
|
|
Derived::~Derived()
|
|
{
|
|
printf("~Derived\n");
|
|
}
|
|
|
|
class DeeplyDerived : public Derived
|
|
{
|
|
public:
|
|
DeeplyDerived(int i) : Base(i), Derived(i) {}
|
|
};
|
|
|
|
int main()
|
|
{
|
|
/* Invokes the Derived ctor that constructs both
|
|
Derived and Base. */
|
|
Derived d(7);
|
|
/* Invokes the Derived ctor that constructs only
|
|
Derived. Base is constructed separately by
|
|
DeeplyDerived's ctor. */
|
|
DeeplyDerived dd(15);
|
|
}
|