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 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},