blob: 6f3b217b81d5d92966537bda83771c34cfb19b2e [file] [log] [blame]
void inc1(out float x) { x++; }
void inc4(out float4 x) { x += half4(1); }
void test_a() { inc1(0); }
void test_b() { inc4(float4(0)); }
void test_c() { inc1(sqrt(1)); }
// $pure isn't allowed outside of module code, but the test still does its job; it just reports an
// additional error as well ('$pure' is not permitted here).
$pure void pure_function_with_out_param (out float x) { x = 1; }
$pure void pure_function_with_inout_param(inout float x) { x += 1; }
/*%%*
cannot assign to this expression
cannot assign to this expression
cannot assign to this expression
pure functions cannot have out parameters
pure functions cannot have out parameters
*%%*/