aboutsummaryrefslogtreecommitdiff
path: root/development/maude/32-bit-fixes.patch
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2022-03-23 13:39:35 -0400
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2022-03-26 01:20:11 +0700
commitc96ceb17454f01a9db8a3fab0be3aec810da4dd8 (patch)
tree6e92ec7da9e276ebc137dbcdb7ecc703213637b3 /development/maude/32-bit-fixes.patch
parent2485399468e22b35a492c99e8147a974306be0e8 (diff)
development/maude: Fix 32-bit build.
Signed-off-by: B. Watson <yalhcru@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'development/maude/32-bit-fixes.patch')
-rw-r--r--development/maude/32-bit-fixes.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/development/maude/32-bit-fixes.patch b/development/maude/32-bit-fixes.patch
new file mode 100644
index 0000000000..ae03dafe12
--- /dev/null
+++ b/development/maude/32-bit-fixes.patch
@@ -0,0 +1,34 @@
+--- a/src/BuiltIn/succSymbol.hh
++++ b/src/BuiltIn/succSymbol.hh
+@@ -46,6 +46,15 @@
+ Vector<Term*>& terms);
+ void postInterSymbolPass();
+ void reset();
++
++#if SIZEOF_LONG < 8
++ DagNode* makeNatDag(Int64 nat)
++ {
++ mpz_class bigNat;
++ mpz_import(bigNat.get_mpz_t(), 1, 1, sizeof(nat), 0, 0, &nat);
++ return makeNatDag(bigNat);
++ }
++#endif
+ //
+ // Functions special to SuccSymbol.
+ //
+--- a/src/Meta/interpreterManagerSymbol.cc
++++ b/src/Meta/interpreterManagerSymbol.cc
+@@ -599,6 +599,12 @@
+ DagNode*
+ InterpreterManagerSymbol::upRewriteCount(const RewritingContext* context)
+ {
+- mpz_class totalCount(context->getTotalCount());
++#if SIZEOF_LONG == 8
++ mpz_class totalCount(context->getTotalCount());
++#else
++ Int64 totalCount64 = context->getTotalCount();
++ mpz_class totalCount;
++ mpz_import(totalCount.get_mpz_t(), 1, 1, sizeof(totalCount64), 0, 0, &totalCount64);
++#endif
+ return metaLevel->upNat(totalCount);
+ }