summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/m4/nvhpc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/m4/nvhpc.patch')
-rw-r--r--var/spack/repos/builtin/packages/m4/nvhpc.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/m4/nvhpc.patch b/var/spack/repos/builtin/packages/m4/nvhpc.patch
new file mode 100644
index 0000000000..2fc74f4818
--- /dev/null
+++ b/var/spack/repos/builtin/packages/m4/nvhpc.patch
@@ -0,0 +1,34 @@
+--- a/lib/xalloc-oversized.h 2020-08-07 11:04:56.154698639 -0700
++++ b/lib/xalloc-oversized.h 2020-08-07 11:06:11.667997389 -0700
+@@ -46,13 +46,13 @@
+ 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__ || __has_builtin (__builtin_add_overflow_p)
++#if ((7 <= __GNUC__ || __has_builtin (__builtin_add_overflow_p)) && !defined __NVCOMPILER)
+ # define xalloc_oversized(n, s) \
+ __builtin_mul_overflow_p (n, s, (__xalloc_count_type) 1)
+ #elif ((5 <= __GNUC__ \
+ || (__has_builtin (__builtin_mul_overflow) \
+ && __has_builtin (__builtin_constant_p))) \
+- && !__STRICT_ANSI__)
++ && !__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-07 11:06:15.508012580 -0700
++++ b/lib/intprops.h 2020-08-07 11:07:54.379403731 -0700
+@@ -242,11 +242,11 @@
+
+ /* True if __builtin_add_overflow (A, B, P) works when P is non-null. */
+ #define _GL_HAS_BUILTIN_OVERFLOW \
+- (5 <= __GNUC__ || __has_builtin (__builtin_add_overflow))
++ ((5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)) && !defined __NVCOMPILER)
+
+ /* True if __builtin_add_overflow_p (A, B, C) works. */
+ #define _GL_HAS_BUILTIN_OVERFLOW_P \
+- (7 <= __GNUC__ || __has_builtin (__builtin_add_overflow_p))
++ ((7 <= __GNUC__ || __has_builtin (__builtin_add_overflow_p)) && !defined __NVCOMPILER)
+
+ /* The _GL*_OVERFLOW macros have the same restrictions as the
+ *_RANGE_OVERFLOW macros, except that they do not assume that operands