diff --git a/dmd2/root/port.c b/dmd2/root/port.c
index 044f244..53b522b 100644
--- a/dmd2/root/port.c
+++ b/dmd2/root/port.c
@@ -600,7 +600,7 @@ int Port::isNan(double r)
#else
return __inline_isnan(r);
#endif
-#elif __HAIKU__ || __OpenBSD__
+#elif __HAIKU__ || __OpenBSD__ || __FreeBSD__
return isnan(r);
#else
#undef isnan
@@ -616,7 +616,7 @@ int Port::isNan(longdouble r)
#else
return __inline_isnan(r);
#endif
-#elif __HAIKU__ || __OpenBSD__
+#elif __HAIKU__ || __OpenBSD__ || __FreeBSD__
return isnan(r);
#else
#undef isnan
@@ -652,7 +652,7 @@ int Port::isInfinity(double r)
{
#if __APPLE__
return fpclassify(r) == FP_INFINITE;
-#elif defined __HAIKU__ || __OpenBSD__
+#elif defined __HAIKU__ || __OpenBSD__ || __FreeBSD__
return isinf(r);
#else
#undef isinf
Due to clang's different handling of "collision between C99 and C++11"
Sorry don't have the capability to create a pull and commit so patch is: