aboutsummaryrefslogtreecommitdiffstats
path: root/math
diff options
context:
space:
mode:
authoradridg <adridg@FreeBSD.org>2018-06-23 15:39:39 +0800
committeradridg <adridg@FreeBSD.org>2018-06-23 15:39:39 +0800
commitff1ddab1f5fbe883ae6f1077d1d22427cb807d67 (patch)
tree40e3aa8c0e10e3a9fa16d6a23c360d86118a2ffe /math
parent43b45fa6a73fd9ce2b19b306ba3a77a369b46785 (diff)
downloadfreebsd-ports-gnome-ff1ddab1f5fbe883ae6f1077d1d22427cb807d67.tar.gz
freebsd-ports-gnome-ff1ddab1f5fbe883ae6f1077d1d22427cb807d67.tar.zst
freebsd-ports-gnome-ff1ddab1f5fbe883ae6f1077d1d22427cb807d67.zip
Fix math/freemat with Clang6.
Noticed by CMake 3.12 fallout. Fixed the C++ issues before I noticed that the port was marked DEPRECATED. Porting FreeMat to llvm60 is doable, but probably not worth it given the state of upstream. For reference: - s/llvm33/llvm60/ in the Makefile - OwningPtr -> std::unique_ptr - Some Clang includes have moved around - The real issue is dealing with how the JIT changed between llvm33 and later versions. No PORTREVISION bump, since (a) deprecated (b) compile fix for a platform it didn't work on before and no code change where it did compile.
Diffstat (limited to 'math')
-rw-r--r--math/freemat/files/patch-libs_libMatC_CArray.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/math/freemat/files/patch-libs_libMatC_CArray.cpp b/math/freemat/files/patch-libs_libMatC_CArray.cpp
new file mode 100644
index 000000000000..cd43f643358b
--- /dev/null
+++ b/math/freemat/files/patch-libs_libMatC_CArray.cpp
@@ -0,0 +1,20 @@
+--- libs/libMatC/CArray.cpp.orig 2018-06-22 09:05:35 UTC
++++ libs/libMatC/CArray.cpp
+@@ -534,7 +534,7 @@ void* carray_get_aa(void* interp, void* arg, void* rnd
+ extern "C" EXPORT
+ double carray_get_ss(void* interp, void* arg, double row, double col, bool *flag)
+ {
+- if (*flag) return NULL;
++ if (*flag) return 0.0L;
+ try
+ {
+ CArray *cp = cast(arg);
+@@ -569,7 +569,7 @@ double carray_get_ss(void* interp, void* arg, double r
+ extern "C" EXPORT
+ double carray_get_s(void* interp, void* arg, double row, bool *flag)
+ {
+- if (*flag) return NULL;
++ if (*flag) return 0.0L;
+ try
+ {
+ CArray *cp = cast(arg);