tra added a comment. In D60220#1723458 <https://reviews.llvm.org/D60220#1723458>, @emankov wrote:
> In D60220#1723350 <https://reviews.llvm.org/D60220#1723350>, @6yearold wrote: > > > I'm seeing quite similar errors on FreeBSD with Clang 8 and 9: > > Any idea how to fix this? > > > It looks like CUDA doesn't support `double` argument for device function > __isnan on FreeBSD. It's actually the opposite -- FreeBSD does not provide *host*-side `__isnan(double)` -- the error complains that it's the host code that tried to use `__isnan` and failed when overload resolution produced a device variant. FreeBSD does have host-side implementation of isnan, only it's apparently called `__inline_isnan()` https://github.com/freebsd/freebsd/blob/master/lib/msun/src/math.h#L197 I think the right thing to do here would probably be to define a wrapper __isnan(double) which would call it. > > > 1. I'd look at LLVM trunk (10.0.0svn). > 2. If the issue were not eliminated in the trunk, I'd make a change for > FreeBSD similar to https://reviews.llvm.org/rL358654 to provide declarations > for that function, allowing math_functions.hpp to compile, but with > preventing from any use of it on the device side. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60220/new/ https://reviews.llvm.org/D60220 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits