spack/var/spack/repos/builtin/packages/julia/armgcc.patch
Toyohisa Kameyama 6a730d7059 Julia package: add ARM support and versions 1.1.1, 1.0.0 (#12300)
* Add patch when building with GCC on ARM
* Update syntax for adding Julia packages based on version (newer
  versions use a different syntax)
2019-08-23 16:29:14 -07:00

43 lines
1.5 KiB
Diff
Executable File

diff -ru spack-src/src/ccalltest.c spack-src.new/src/ccalltest.c
--- spack-src/src/ccalltest.c 2019-08-01 14:58:12.092094781 +0900
+++ spack-src.new/src/ccalltest.c 2019-08-01 14:57:53.242092475 +0900
@@ -817,6 +817,7 @@
return x;
}
+#if defined(__GNUC__) && (__GNUC__ >= 6)
typedef struct {
__fp16 v1;
double v2;
@@ -833,6 +834,7 @@
struct_aa64_2 x = {v4 / 2 + 1, v1 * 2 + v2 * 4 - v3};
return x;
}
+#endif
#include <arm_neon.h>
diff -ru spack-src/src/test/ccall.jl spack-src.new/src/test/ccall.jl
--- spack-src/test/ccall.jl 2019-05-16 13:13:14.000000000 +0900
+++ spack-src.new/test/ccall.jl 2019-08-02 15:24:47.632241893 +0900
@@ -1130,19 +1130,6 @@
expected = Struct_AA64_1(v1 ÷ 2 + 1 - v3_1, v2 * 2 - 1 - v3_2)
@test res === expected
end
- for v1 in 1:4, v2 in -4:-1, v3 in 3:5, v4 in -(1:3)
- res = ccall((:test_aa64_fp16_1, libccalltest), Float16,
- (Cint, Float32, Float64, Float16),
- v1, v2, v3, v4)
- expected = Float16(v1 + v2 * 2 + v3 * 3 + v4 * 4)
- @test res === expected
-
- res = ccall((:test_aa64_fp16_2, libccalltest), Struct_AA64_2,
- (Cint, Float32, Float64, Float16),
- v1, v2, v3, v4)
- expected = Struct_AA64_2(v4 / 2 + 1, v1 * 2 + v2 * 4 - v3)
- @test res === expected
- end
for v1_1 in 1:4, v1_2 in -2:2, v2 in -4:-1, v3_1 in 3:5, v3_2 in 6:8
res = ccall((:test_aa64_vec_1, libccalltest),
VecReg{2,Int64},