diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2020-06-18 14:46:14 -0400 |
|---|---|---|
| committer | jsmall-nvidia <jsmall@nvidia.com> | 2020-06-18 14:46:14 -0400 |
| commit | e2d21026d115dc61296b47dcc990534f1844bc7f (patch) | |
| tree | 2839c02439c37fb568e46aab62f163893040b56c | |
| parent | 48da3ed09c84cd53f24b1f3628402f0bbc92e540 (diff) | |
Try using cmath or math.h depending on compiler to avoid issues around isinf etc.
| -rw-r--r-- | prelude/slang-cpp-prelude.h | 13 | ||||
| -rw-r--r-- | prelude/slang-cpp-scalar-intrinsics.h | 6 |
2 files changed, 12 insertions, 7 deletions
diff --git a/prelude/slang-cpp-prelude.h b/prelude/slang-cpp-prelude.h index 4a07674d1..d476676ed 100644 --- a/prelude/slang-cpp-prelude.h +++ b/prelude/slang-cpp-prelude.h @@ -3,7 +3,18 @@ #include "../slang.h" -#include <cmath> +// Because the signiture of isnan, isfinite, and is isinf changed in C++, we use the macro +// to use the version in the std namespace. +// https://stackoverflow.com/questions/39130040/cmath-hides-isnan-in-math-h-in-c14-c11 + +#if SLANG_GCC_FAMILY && __GNUC__ < 6 +# include <cmath> +# define SLANG_PRELUDE_STD std:: +#else +# include <math.h> +# define SLANG_PRELUDE_STD +#endif + #include <assert.h> #include <stdlib.h> diff --git a/prelude/slang-cpp-scalar-intrinsics.h b/prelude/slang-cpp-scalar-intrinsics.h index f6c35e393..07945f1e0 100644 --- a/prelude/slang-cpp-scalar-intrinsics.h +++ b/prelude/slang-cpp-scalar-intrinsics.h @@ -8,12 +8,6 @@ # include <intrin.h> #endif -// Because the signiture of isnan, isfinite, and is isinf changed in C++, we use the macro -// to use the version in the std namespace. -// https://stackoverflow.com/questions/39130040/cmath-hides-isnan-in-math-h-in-c14-c11 - -#define SLANG_PRELUDE_STD std:: - #ifdef SLANG_PRELUDE_NAMESPACE namespace SLANG_PRELUDE_NAMESPACE { #endif |
