11 virtual const char * a()
13 return __PRETTY_FUNCTION__;
16 virtual const char * b()
18 return __PRETTY_FUNCTION__;
21 virtual const char * c()
23 return __PRETTY_FUNCTION__;
35 virtual const char * aa()
37 return __PRETTY_FUNCTION__;
44 class B : virtual public A, public AA
51 virtual const char * a()
53 return __PRETTY_FUNCTION__;
56 virtual const char * b()
58 return __PRETTY_FUNCTION__;
64 class C : public B, virtual public A
71 virtual const char * a()
73 return __PRETTY_FUNCTION__;
79 int main (int argc, char const *argv[], char const *envp[])
89 char *end = p + sizeof golden;
90 p += snprintf(p, end-p, "a_as_A->a() = '%s'\n", a_as_A->a());
91 p += snprintf(p, end-p, "a_as_A->b() = '%s'\n", a_as_A->b());
92 p += snprintf(p, end-p, "a_as_A->c() = '%s'\n", a_as_A->c());
93 p += snprintf(p, end-p, "b_as_A->a() = '%s'\n", b_as_A->a());
94 p += snprintf(p, end-p, "b_as_A->b() = '%s'\n", b_as_A->b());
95 p += snprintf(p, end-p, "b_as_A->c() = '%s'\n", b_as_A->c());
96 p += snprintf(p, end-p, "b_as_B->aa() = '%s'\n", b_as_B->aa());
97 p += snprintf(p, end-p, "c_as_A->a() = '%s'\n", c_as_A->a());
98 p += snprintf(p, end-p, "c_as_A->b() = '%s'\n", c_as_A->b());
99 p += snprintf(p, end-p, "c_as_A->c() = '%s'\n", c_as_A->c());
100 p += snprintf(p, end-p, "c_as_C->aa() = '%s'\n", c_as_C->aa());
101 puts("");// Set first breakpoint here.
103 // expression a_as_A->a()
104 // expression a_as_A->b()
105 // expression a_as_A->c()
106 // expression b_as_A->a()
107 // expression b_as_A->b()
108 // expression b_as_A->c()
109 // expression b_as_B->aa()
110 // expression c_as_A->a()
111 // expression c_as_A->b()
112 // expression c_as_A->c()
113 // expression c_as_C->aa()