summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/julia/armgcc.patch
blob: 50719face8b89a94d28e3763f59fa29d74a164d1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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},