[PATCH] D79526: [CUDA][HIP] Workaround for resolving host device function against wrong-sided function

Yaxun Liu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon May 11 22:07:18 PDT 2020


yaxunl marked 6 inline comments as done.
yaxunl added inline comments.


================
Comment at: clang/test/SemaCUDA/function-overload.cu:479
+namespace ImplicitHostDeviceVsWrongSided {
+inline CorrectOverloadRetTy callee(double x);
+#pragma clang force_cuda_host_device begin
----------------
tra wrote:
> Is `inline` necessary in these new tests? Please remove it where it's not needed.
It is not needed by callee but needed by caller to make sure it causes deferred diagnostics. Will remove it from callees.


================
Comment at: clang/test/SemaCUDA/function-overload.cu:493
+namespace ImplicitHostDeviceVsSameSide {
+inline InCorrectOverloadRetTy callee(int x);
+#pragma clang force_cuda_host_device begin
----------------
tra wrote:
> Nit: `Incorrect` should not have `C` capitalized as it's one word.
will fix.


================
Comment at: clang/test/SemaCUDA/function-overload.cu:502-529
+// In the implicit host device function 'caller', the second 'callee' should be
+// since it has better match, even though it is an implicit host device function
+// whereas the first 'callee' is a host function. A diagnostic will be emitted
+// if the first 'callee' is chosen since deduced return type cannot be used
+// before it is defined.
+namespace ImplicitHostDeviceByConstExpr {
+template <class a> a b;
----------------
tra wrote:
> Please move this test below the other two as keeping them together is useful to illustrate the differences in behavior of overloading in explicit HD vs implicit HD functions.
will do


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

https://reviews.llvm.org/D79526





More information about the cfe-commits mailing list