Summary:
When we emit err_ref_bad_target, we should emit a "'method' declared
here" note. We already do so in most places, just not in
BuildCallToMemberFunction.
Reviewers: tra
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D23240
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@278195
91177308-0d34-0410-b5e6-
96231b3b80d8
Diag(MemExpr->getMemberLoc(), diag::err_ref_bad_target)
<< IdentifyCUDATarget(Method) << Method->getIdentifier()
<< IdentifyCUDATarget(Caller);
+ Diag(Method->getLocation(), diag::note_previous_decl) << Method;
return ExprError();
}
}
// Test 1: host method called from device function
struct S1 {
- void method() {}
+ void method() {} // expected-note {{'method' declared here}}
};
__device__ void foo1(S1& s) {
// Test 3: device method called from host function
struct S3 {
- __device__ void method() {}
+ __device__ void method() {} // expected-note {{'method' declared here}};
};
void foo3(S3& s) {
// Test 6: call method through pointer
struct S6 {
- void method() {}
+ void method() {} // expected-note {{'method' declared here}};
};
__device__ void foo6(S6* s) {