Lines Matching defs:mp
412 bool nullTestDataUnspecified(int Unspecified::*mp) {
413 return mp;
417 // CHECK: %[[mp:.*]] = load { i32, i32, i32 }, ptr %{{.*}}, align 4
418 // CHECK: %[[mp0:.*]] = extractvalue { i32, i32, i32 } %[[mp]], 0
420 // CHECK: %[[mp1:.*]] = extractvalue { i32, i32, i32 } %[[mp]], 1
423 // CHECK: %[[mp2:.*]] = extractvalue { i32, i32, i32 } %[[mp]], 2
434 bool nullTestFunctionUnspecified(void (Unspecified::*mp)()) {
435 return mp;
439 // CHECK: %[[mp:.*]] = load { ptr, i32, i32, i32 }, ptr %{{.*}}, align 4
440 // CHECK: %[[mp0:.*]] = extractvalue { ptr, i32, i32, i32 } %[[mp]], 0
641 void (Multiple::*convertB2FuncToMultiple(void (B2::*mp)()))() {
642 return mp;
645 // CHECK: %[[mp:.*]] = load ptr, ptr %{{.*}}, align 4
646 // CHECK: icmp ne ptr %[[mp]], null
650 // CHECK: insertvalue { ptr, i32 } poison, ptr %[[mp]], 0
659 void (B2::*convertMultipleFuncToB2(void (Multiple::*mp)()))() {
662 return static_cast<void (B2::*)()>(mp);
690 void (D::*convertCToD(void (C::*mp)()))() {
691 return mp;
730 int A::*reinterpret(int B::*mp) {
731 return reinterpret_cast<int A::*>(mp);
738 int A::*reinterpret(int C::*mp) {
739 return reinterpret_cast<int A::*>(mp);
741 // CHECK: %[[mp:.*]] = load i32, ptr
742 // CHECK: %[[cmp:.*]] = icmp ne i32 %[[mp]], 0
743 // CHECK: select i1 %[[cmp]], i32 %[[mp]], i32 -1
757 int *load_data(A *a, int A::*mp) {
758 return &(a->*mp);
761 // CHECK: %[[mp:.*]] = load i32, ptr %{{.*}}, align 4
762 // CHECK: getelementptr inbounds i8, ptr %[[a]], i32 %[[mp]]
866 int foo(A *a, int (A::*mp)()) {
867 return (a->*mp)(); // expected-error{{requires a complete class type}}
870 int foo(A *a, int A::*mp) {
871 return a->*mp; // expected-error{{requires a complete class type}}