Lines Matching full:right
7 struct Right { struct
8 virtual void right();
11 struct ChildNoOverride : Left, Right {
14 struct ChildOverride : Left, Right {
16 virtual void right();
65 child->right(); in call_right_no_override()
66 // When calling a right base's virtual method, one needs to adjust 'this' at in call_right_no_override()
78 void ChildOverride::right() { in right() function in ChildOverride
79 // CHECK-LABEL: define dso_local x86_thiscallcc void @"?right@ChildOverride@@UAEXXZ"(ptr in right()
81 // ChildOverride::right gets 'this' cast to Right* in ECX (i.e. this+4) so we in right()
98 child->right(); in call_right_override()
99 // When calling a right child's virtual method, one needs to adjust 'this' at in call_right_override()
102 // CHECK: %[[RIGHT:.*]] = getelementptr inbounds i8, ptr %[[CHILD]], i32 4 in call_right_override()
109 // CHECK: call x86_thiscallcc void %[[VFUN_VALUE]](ptr noundef %[[RIGHT]]) in call_right_override()
114 virtual void right();
117 void GrandchildOverride::right() { in right() function in GrandchildOverride
118 // CHECK-LABEL: define dso_local x86_thiscallcc void @"?right@GrandchildOverride@@UAEXXZ"(ptr in right()
132 obj->right(); in call_grandchild_right()
142 Right r; in emit_ctors()
143 // CHECK-LABEL: define {{.*}} @"??0Right@@QAE@XZ" in emit_ctors()
170 struct AsymmetricChild : LeftWithNonVirtualDtor, Right {