blob: 82f08d4ae998c5aa8b16e6b2501047cfbc834f0a [file] [log] [blame]
<!DOCTYPE html>
<html>
<meta charset=utf-8>
<meta name="timeout" content="long">
<title>Test loops.</title>
<script src="js/whlsl-test-harness.js"></script>
<script src="js/webgpu-functions.js"></script>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script>
const whlslTests = {};
whlslTests.mutuallyRecursiveStruct = async () =>
{
await checkFail(
`
struct Foo {
Bar bar;
}
struct Bar {
Foo foo;
}
`);
}
whlslTests.mutuallyRecursiveStructWithPointersBroken = async () =>
{
let program = `
struct Foo {
thread Bar* bar;
int foo;
}
struct Bar {
thread Foo* foo;
int bar;
}
int foo()
{
Foo foo;
Bar bar;
foo.foo = 564;
bar.bar = 53;
return foo.bar->bar - bar.foo->foo;
}
`;
assert_equals(await callIntFunction(program, "foo", []), 0);
}
runTests(whlslTests);
</script>
</html>