hfinkel added a comment.
In D61458#1488970 <https://reviews.llvm.org/D61458#1488970>, @jlebar wrote:
> Here's one for you:
>
> __host__ float bar();
> __device__ int bar();
> __host__ __device__ auto foo() -> decltype(bar()) {}
>
>
> What is the return type of `foo`? :)
>
> I don't believe the right answer is, "float when compiling for host, int when
> compiling for device."
So, actually, I wonder if that's not the right answer. We generally allow
different overloads to have different return types. What if, for example, the
return type on the host is __float128 and on the device it's `MyLongFloatTy`?
> I'd be happy if we said this was an error, so long as it's well-defined what
> exactly we're disallowing. But I bet @rsmith can come up with substantially
> more evil testcases than this.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61458/new/
https://reviews.llvm.org/D61458
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits