--- a/lib/xalloc-oversized.h 2020-08-21 13:24:01.793744123 -0700 +++ b/lib/xalloc-oversized.h 2020-08-21 13:25:52.394097061 -0700 @@ -41,10 +41,10 @@ positive and N must be nonnegative. This is a macro, not a function, so that it works correctly even when SIZE_MAX < N. */ -#if 7 <= __GNUC__ +#if 7 <= __GNUC__ && !defined __NVCOMPILER # define xalloc_oversized(n, s) \ __builtin_mul_overflow_p (n, s, (__xalloc_count_type) 1) -#elif 5 <= __GNUC__ && !defined __ICC && !__STRICT_ANSI__ +#elif 5 <= __GNUC__ && !defined __ICC && !__STRICT_ANSI__ && !defined __NVCOMPILER # define xalloc_oversized(n, s) \ (__builtin_constant_p (n) && __builtin_constant_p (s) \ ? __xalloc_oversized (n, s) \ --- a/lib/intprops.h 2020-08-21 13:23:54.587721128 -0700 +++ b/lib/intprops.h 2020-08-21 13:24:59.717928964 -0700 @@ -222,9 +222,9 @@ /* True if __builtin_add_overflow (A, B, P) and __builtin_sub_overflow (A, B, P) work when P is non-null. */ -#if 5 <= __GNUC__ && !defined __ICC +#if 5 <= __GNUC__ && !defined __ICC && !defined __NVCOMPILER # define _GL_HAS_BUILTIN_ADD_OVERFLOW 1 -#elif defined __has_builtin +#elif defined __has_builtin && !defined __NVCOMPILER # define _GL_HAS_BUILTIN_ADD_OVERFLOW __has_builtin (__builtin_add_overflow) #else # define _GL_HAS_BUILTIN_ADD_OVERFLOW 0 @@ -240,7 +240,7 @@ /* True if __builtin_add_overflow_p (A, B, C) works, and similarly for __builtin_mul_overflow_p and __builtin_mul_overflow_p. */ -#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) +#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__ && !defined __NVCOMPILER) /* The _GL*_OVERFLOW macros have the same restrictions as the *_RANGE_OVERFLOW macros, except that they do not assume that operands