aboutsummaryrefslogtreecommitdiffstats
path: root/testing/julia/0005-llvm-3.8.patch
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2016-06-06 15:27:58 +0200
committerJakub Jirutka <jakub@jirutka.cz>2016-06-09 19:26:06 +0200
commit306b71cdc16ae6765d310b354deb6c716728c815 (patch)
treec9c724b5a55abba0ff059eeb66e91df97a00f757 /testing/julia/0005-llvm-3.8.patch
parentba48a053791c950c7d8aedc52bd8da4269073c6f (diff)
downloadaports-306b71cdc16ae6765d310b354deb6c716728c815.tar.bz2
aports-306b71cdc16ae6765d310b354deb6c716728c815.tar.xz
testing/julia: new abuild
http://julialang.org/ A high-level, high-performance dynamic language for technical computing.
Diffstat (limited to 'testing/julia/0005-llvm-3.8.patch')
-rw-r--r--testing/julia/0005-llvm-3.8.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/testing/julia/0005-llvm-3.8.patch b/testing/julia/0005-llvm-3.8.patch
new file mode 100644
index 0000000000..c301f964c2
--- /dev/null
+++ b/testing/julia/0005-llvm-3.8.patch
@@ -0,0 +1,56 @@
+Description: LLVM 3.8 compatibility
+ These fixes come straight from upstream's git.
+Origin: Upstream, https://github.com/JuliaLang/julia/commit/b67609b988febe062e6709d8972c4f869c82cfc0
+Origin: Upstream, https://github.com/JuliaLang/julia/commit/3f6abadc9d12bb9d59ec775db4277b3841395d0b
+Origin: Upstream, https://github.com/JuliaLang/julia/commit/caf3c74426696d43101d9607b1a2cd3a5e05bc0f
+Author: Graham Inggs <ginggs@debian.org>
+Last-Update: 2016-02-03
+--- a/src/cgutils.cpp
++++ b/src/cgutils.cpp
+@@ -219,7 +219,11 @@
+ }
+ }
+
++#ifdef LLVM38
++ virtual Value *materializeDeclFor(Value *V)
++#else
+ virtual Value *materializeValueFor (Value *V)
++#endif
+ {
+ Function *F = dyn_cast<Function>(V);
+ if (F) {
+@@ -492,7 +496,11 @@
+
+ // now copy the module, since PM.run may modify it
+ ValueToValueMapTy VMap;
++#ifdef LLVM38
++ Module *clone = CloneModule(shadow_module, VMap).release();
++#else
+ Module *clone = CloneModule(shadow_module, VMap);
++#endif
+ #ifdef LLVM37
+ // Reset the target triple to make sure it matches the new target machine
+ clone->setTargetTriple(TM->getTargetTriple().str());
+--- a/src/intrinsics.cpp
++++ b/src/intrinsics.cpp
+@@ -780,12 +780,20 @@
+ jl_options.fast_math == JL_OPTIONS_FAST_MATH_ON)) {
+ FastMathFlags fmf;
+ fmf.setUnsafeAlgebra();
++#ifdef LLVM38
++ builder.setFastMathFlags(fmf);
++#else
+ builder.SetFastMathFlags(fmf);
++#endif
+ }
+ }
+ IRBuilder<>& operator()() const { return builder; }
+ ~math_builder() {
++#ifdef LLVM38
++ builder.setFastMathFlags(old_fmf);
++#else
+ builder.SetFastMathFlags(old_fmf);
++#endif
+ }
+ };
+