m4: fixes for the NVIDIA HPC SDK (#25546)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
This commit is contained in:
parent
31dcdf7262
commit
107693fbd1
14
var/spack/repos/builtin/packages/m4/nvhpc-1.4.19.patch
Normal file
14
var/spack/repos/builtin/packages/m4/nvhpc-1.4.19.patch
Normal file
@ -0,0 +1,14 @@
|
||||
--- a/lib/intprops.h
|
||||
+++ b/lib/intprops.h
|
||||
@@ -232,9 +232,9 @@
|
||||
(A, B, P) work when P is non-null. */
|
||||
/* __builtin_{add,sub}_overflow exists but is not reliable in GCC 5.x and 6.x,
|
||||
see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98269>. */
|
||||
-#if 7 <= __GNUC__ && !defined __ICC
|
||||
+#if 7 <= __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
|
17
var/spack/repos/builtin/packages/m4/nvhpc-long-width.patch
Normal file
17
var/spack/repos/builtin/packages/m4/nvhpc-long-width.patch
Normal file
@ -0,0 +1,17 @@
|
||||
--- a/lib/regex_internal.h
|
||||
+++ b/lib/regex_internal.h
|
||||
@@ -39,6 +39,14 @@
|
||||
#include <intprops.h>
|
||||
#include <verify.h>
|
||||
|
||||
+#ifndef __LONG_WIDTH__
|
||||
+#if LONG_WIDTH
|
||||
+#define __LONG_WIDTH__ LONG_WIDTH
|
||||
+#else
|
||||
+#define __LONG_WIDTH__ __WORDSIZE
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#if defined DEBUG && DEBUG != 0
|
||||
# include <assert.h>
|
||||
# define DEBUG_ASSERT(x) assert (x)
|
@ -18,7 +18,12 @@ class M4(AutotoolsPackage, GNUMirrorPackage):
|
||||
|
||||
patch('gnulib-pgi.patch', when='@1.4.18')
|
||||
patch('pgi.patch', when='@1.4.17')
|
||||
# The NVIDIA compilers do not currently support some GNU builtins.
|
||||
# Detect this case and use the fallback path.
|
||||
patch('nvhpc.patch', when='@1.4.18 %nvhpc')
|
||||
patch('nvhpc-1.4.19.patch', when='@1.4.19 %nvhpc')
|
||||
# Workaround bug where __LONG_WIDTH__ is not defined
|
||||
patch('nvhpc-long-width.patch', when='@1.4.19 %nvhpc')
|
||||
patch('oneapi.patch', when='@1.4.18 %oneapi')
|
||||
# from: https://github.com/Homebrew/homebrew-core/blob/master/Formula/m4.rb
|
||||
# Patch credit to Jeremy Huddleston Sequoia <jeremyhu@apple.com>
|
||||
|
Loading…
Reference in New Issue
Block a user