Antonio Maiorano e5dbe24e94 MSL writer: make signed int overflow defined behaviour
Bug: tint:124
Change-Id: Icf545b633d6390ceb7f639e80111390005e311a1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/60100
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: David Neto <dneto@google.com>
2021-07-29 13:51:47 +00:00

46 lines
1.0 KiB
Plaintext

#include <metal_stdlib>
using namespace metal;
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol_1 {
float4 x_GLF_color_1 [[color(0)]];
};
void main_1(thread float4* const tint_symbol_4) {
int i = 0;
int j = 0;
i = 0;
j = 1;
while (true) {
int const x_28 = i;
int const x_29 = j;
if ((x_28 < clamp(x_29, 5, 9))) {
} else {
break;
}
int const x_33 = i;
i = as_type<int>((as_type<uint>(x_33) + as_type<uint>(1)));
int const x_35 = j;
j = as_type<int>((as_type<uint>(x_35) + as_type<uint>(1)));
}
int const x_37 = i;
int const x_39 = j;
if (((x_37 == 9) & (x_39 == 10))) {
*(tint_symbol_4) = float4(1.0f, 0.0f, 0.0f, 1.0f);
} else {
*(tint_symbol_4) = float4(0.0f, 0.0f, 0.0f, 0.0f);
}
return;
}
fragment tint_symbol_1 tint_symbol() {
thread float4 tint_symbol_5 = 0.0f;
main_1(&(tint_symbol_5));
main_out const tint_symbol_2 = {.x_GLF_color_1=tint_symbol_5};
tint_symbol_1 const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_2.x_GLF_color_1};
return tint_symbol_3;
}