blob: 901779979d89d54e21945f057726fa77ec2c763b [file] [log] [blame]
SKIP: FAILED
#include <metal_stdlib>
using namespace metal;
struct str {
float4 i;
};
threadgroup str S;
void func(threadgroup float4* const pointer) {
pointer = float4(0.0f);
}
kernel void tint_symbol(uint tint_local_index [[thread_index_in_threadgroup]]) {
if ((tint_local_index == 0u)) {
S = str{};
}
threadgroup_barrier(mem_flags::mem_threadgroup);
func(S.i);
}
program_source:7:17: error: program scope variable must reside in constant address space
threadgroup str S;
^
program_source:9:11: error: cannot assign to variable 'pointer' with const-qualified type 'threadgroup float4 *const'
pointer = float4(0.0f);
~~~~~~~ ^
program_source:8:37: note: variable 'pointer' declared const here
void func(threadgroup float4* const pointer) {
~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
program_source:12:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((tint_local_index == 0u)) {
~~~~~~~~~~~~~~~~~^~~~~
program_source:12:25: note: remove extraneous parentheses around the comparison to silence this warning
if ((tint_local_index == 0u)) {
~ ^ ~
program_source:12:25: note: use '=' to turn this equality comparison into an assignment
if ((tint_local_index == 0u)) {
^~
=