summaryrefslogtreecommitdiff
path: root/debian/patches/dyson-math.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/dyson-math.patch')
-rw-r--r--debian/patches/dyson-math.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/debian/patches/dyson-math.patch b/debian/patches/dyson-math.patch
new file mode 100644
index 0000000..8f34a87
--- /dev/null
+++ b/debian/patches/dyson-math.patch
@@ -0,0 +1,19 @@
+Description: call of overloaded ‘ceil(long unsigned int)’ is ambiguous,
+ call of overloaded ‘sqrt(long unsigned int)’ is ambiguous
+Index: llvm-toolchain-5.0-5.0/tools/polly/lib/Transform/ScheduleOptimizer.cpp
+===================================================================
+--- llvm-toolchain-5.0-5.0.orig/tools/polly/lib/Transform/ScheduleOptimizer.cpp
++++ llvm-toolchain-5.0-5.0/tools/polly/lib/Transform/ScheduleOptimizer.cpp
+@@ -971,9 +971,9 @@ getMicroKernelParams(const llvm::TargetT
+ auto Nvec = RegisterBitwidth / ElementSize;
+ if (Nvec == 0)
+ Nvec = 2;
+- int Nr =
+- ceil(sqrt(Nvec * LatencyVectorFma * ThroughputVectorFma) / Nvec) * Nvec;
+- int Mr = ceil(Nvec * LatencyVectorFma * ThroughputVectorFma / Nr);
++ double _tmp = Nvec * LatencyVectorFma * ThroughputVectorFma;
++ int Nr = ceil(sqrt(_tmp) / Nvec) * Nvec;
++ int Mr = ceil(_tmp / Nr);
+ return {Mr, Nr};
+ }
+