Add support for increment/decrement statements

Refactor the ExpandCompoundAssignment transform to handle these
statements, which delivers support for all of the non-WGSL backends.

Fixed: tint:1488
Change-Id: I96cdc31851c61f6d92d296447d0b0637907d5fe5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86004
Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
James Price
2022-04-07 13:42:45 +00:00
parent b02fe31e46
commit d68d3a9809
76 changed files with 2052 additions and 838 deletions

View File

@@ -1,11 +1,8 @@
SKIP: FAILED
#include <metal_stdlib>
@group(0) @binding(0) var<storage, read_write> i : u32;
fn tint_symbol() {
for(i++; (i < 10u); ) {
using namespace metal;
void tint_symbol(device uint* const tint_symbol_1) {
for(*(tint_symbol_1) = (*(tint_symbol_1) + 1u); (*(tint_symbol_1) < 10u); ) {
}
}
Failed to generate: error: unknown statement type: tint::ast::IncrementDecrementStatement