| SKIP: FAILED |
| |
| #include <metal_stdlib> |
| using namespace metal; |
| struct str { |
| float4 i; |
| }; |
| |
| float4 func(thread float4* const pointer) { |
| return pointer; |
| } |
| kernel void tint_symbol() { |
| str F = {}; |
| float4 const r = func(F.i); |
| } |
| program_source:8:10: error: cannot initialize return object of type 'float4' (vector of 4 'float' values) with an lvalue of type 'float4 *const' |
| return pointer; |
| ^~~~~~~ |
| program_source:12:20: error: no matching function for call to 'func' |
| float4 const r = func(F.i); |
| ^~~~ |
| program_source:7:8: note: candidate function not viable: no known conversion from 'float4' (vector of 4 'float' values) to 'float4 *const' for 1st argument; take the address of the argument with & |
| float4 func(thread float4* const pointer) { |
| ^ |
| |