blob: 6348b8603e2877c510b615a8b5caf86d12165ea2 [file] [log] [blame]
dan sinclair3b4bf192023-11-23 15:43:43 +00001#include <metal_stdlib>
2using namespace metal;
dan sinclairf1f381a2023-11-22 09:44:15 +00003
James Price73fd3742024-09-03 20:31:37 +00004#define TINT_ISOLATE_UB(VOLATILE_NAME) \
5 volatile bool VOLATILE_NAME = true; \
6 if (VOLATILE_NAME)
7
dan sinclair3b4bf192023-11-23 15:43:43 +00008int f() {
9 int i = 0;
10 {
James Price73fd3742024-09-03 20:31:37 +000011 TINT_ISOLATE_UB(tint_volatile_true) while(true) {
dan sinclair3b4bf192023-11-23 15:43:43 +000012 if ((i > 4)) {
13 return i;
14 }
James Priceb5a904c2024-06-03 20:48:50 +000015 {
James Price2d245582024-09-04 16:04:34 +000016 i = as_type<int>((as_type<uint>(i) + as_type<uint>(1)));
James Price84db15d2024-06-18 15:23:55 +000017 if ((i == 4)) { break; }
James Priceb5a904c2024-06-03 20:48:50 +000018 }
dan sinclair3b4bf192023-11-23 15:43:43 +000019 continue;
20 }
21 }
22 return i;
23}