tra added inline comments.
================
Comment at: clang/lib/Sema/SemaCUDA.cpp:881-882
+  } else if (Capture.isThisCapture() && !LangOpts.HIP) {
+    // Capture of this pointer is allowed for HIP since this pointer may be
+    // pointing to managed memory which is accessible on both device and
+    // host sides.
----------------
yaxunl wrote:
> tra wrote:
> > I assume there's no easy way to tell if it's a managed pointer or not.
> > Capturing a non-managed pointer would still be bad.
> > Should we make it a warning instead?
> > 
> > 
> warning makes sense. will do.
> 
> Also this should apply to CUDA too. Although clang does not support 
> `__managed__` keyword for CUDA, `this` pointer may be allocated in managed 
> memory through host API's.
> Also this should apply to CUDA too. 

I'm not sure I understand what you mean.

Do you suggest that the warning should be issued for both HIP and CUDA? If so, 
the diag already applies to CUDA.

Or that we should allow capturing wrong-side `this` w/o diagnostics for both 
CUDA and HIP?

I'm fine with the former. But I do not think we should silently allow capturing 
wrong-side `this` for CUDA, because it will be an error most of the time.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D108493/new/

https://reviews.llvm.org/D108493

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to