blob: 82d17b1350093ee6540555491239c5781ad4b78d [file] [log] [blame] [edit]
#include <stdio.h>
class Base1 {
public:
virtual ~Base1() {}
};
class Base2 {
public:
virtual void doit() = 0;
virtual void doit_debug() = 0;
};
Base2 *b;
class Derived1 : public Base1, public Base2 {
public:
virtual void doit() { printf("Derived1\n"); }
virtual void __attribute__((nodebug)) doit_debug() {
printf("Derived1 (no debug)\n");
}
};
class Derived2 : public Base2 {
public:
virtual void doit() { printf("Derived2\n"); }
virtual void doit_debug() { printf("Derived2 (debug)\n"); }
};
void testit() { b->doit(); }
void testit_debug() {
b->doit_debug();
printf("This is where I should step out to with nodebug.\n"); // Step here
}
int main() {
b = new Derived1();
testit();
testit_debug();
b = new Derived2();
testit();
testit_debug();
return 0;
}