61 lines
3.7 KiB
Plaintext
61 lines
3.7 KiB
Plaintext
SKIP: FAILED
|
|
|
|
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
void frexp_0da285(threadgroup int* const tint_symbol_1) {
|
|
float res = frexp(1.0f, *(&(*(tint_symbol_1))));
|
|
}
|
|
|
|
kernel void compute_main(uint local_invocation_index [[thread_index_in_threadgroup]]) {
|
|
threadgroup int tint_symbol_2;
|
|
if ((local_invocation_index == 0u)) {
|
|
tint_symbol_2 = int();
|
|
}
|
|
threadgroup_barrier(mem_flags::mem_threadgroup);
|
|
frexp_0da285(&(tint_symbol_2));
|
|
return;
|
|
}
|
|
|
|
Compilation failed:
|
|
|
|
program_source:5:15: error: no matching function for call to 'frexp'
|
|
float res = frexp(1.0f, *(&(*(tint_symbol_1))));
|
|
^~~~~
|
|
/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/31001/Libraries/lib/clang/31001.189/include/metal/metal_math:4560:18: note: candidate function not viable: address space mismatch in 2nd argument ('threadgroup int'), parameter type must be 'int &'
|
|
METAL_FUNC float frexp(float x, thread int &exp)
|
|
^
|
|
/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/31001/Libraries/lib/clang/31001.189/include/metal/metal_math:3092:17: note: candidate function not viable: address space mismatch in 2nd argument ('threadgroup int'), parameter type must be 'int &'
|
|
METAL_FUNC half frexp(half x, thread int &exp)
|
|
^
|
|
/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/31001/Libraries/lib/clang/31001.189/include/metal/metal_math:3336:18: note: candidate function not viable: no known conversion from 'threadgroup int' to 'metal::int2 &' (aka 'int2 &') for 2nd argument
|
|
METAL_FUNC half2 frexp(half2 x, thread int2 &exp)
|
|
^
|
|
/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/31001/Libraries/lib/clang/31001.189/include/metal/metal_math:3580:18: note: candidate function not viable: no known conversion from 'threadgroup int' to 'metal::int3 &' (aka 'int3 &') for 2nd argument
|
|
METAL_FUNC half3 frexp(half3 x, thread int3 &exp)
|
|
^
|
|
/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/31001/Libraries/lib/clang/31001.189/include/metal/metal_math:3824:18: note: candidate function not viable: no known conversion from 'threadgroup int' to 'metal::int4 &' (aka 'int4 &') for 2nd argument
|
|
METAL_FUNC half4 frexp(half4 x, thread int4 &exp)
|
|
^
|
|
/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/31001/Libraries/lib/clang/31001.189/include/metal/metal_math:4804:19: note: candidate function not viable: no known conversion from 'threadgroup int' to 'metal::int2 &' (aka 'int2 &') for 2nd argument
|
|
METAL_FUNC float2 frexp(float2 x, thread int2 &exp)
|
|
^
|
|
/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/31001/Libraries/lib/clang/31001.189/include/metal/metal_math:5048:19: note: candidate function not viable: no known conversion from 'threadgroup int' to 'metal::int3 &' (aka 'int3 &') for 2nd argument
|
|
METAL_FUNC float3 frexp(float3 x, thread int3 &exp)
|
|
^
|
|
/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/31001/Libraries/lib/clang/31001.189/include/metal/metal_math:5292:19: note: candidate function not viable: no known conversion from 'threadgroup int' to 'metal::int4 &' (aka 'int4 &') for 2nd argument
|
|
METAL_FUNC float4 frexp(float4 x, thread int4 &exp)
|
|
^
|
|
program_source:10:31: warning: equality comparison with extraneous parentheses
|
|
if ((local_invocation_index == 0u)) {
|
|
~~~~~~~~~~~~~~~~~~~~~~~^~~~~
|
|
program_source:10:31: note: remove extraneous parentheses around the comparison to silence this warning
|
|
if ((local_invocation_index == 0u)) {
|
|
~ ^ ~
|
|
program_source:10:31: note: use '=' to turn this equality comparison into an assignment
|
|
if ((local_invocation_index == 0u)) {
|
|
^~
|
|
=
|
|
|
|
|