From 8f2e66792d4a3961e1d7c31b66241e0e819e8f55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alf-Andr=C3=A9=20Walla?= Date: Tue, 21 May 2024 20:39:00 +0200 Subject: [PATCH] Use pointer-to-struct instead of std::array for data test --- ext/libriscv | 2 +- tests/basic.cpp | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ext/libriscv b/ext/libriscv index 025d26c..1dc2be1 160000 --- a/ext/libriscv +++ b/ext/libriscv @@ -1 +1 @@ -Subproject commit 025d26c1a4ce890026aaa485ed5a2bc61ac43e75 +Subproject commit 1dc2be11049cd4c4e7a67bddde0788a51e131465 diff --git a/tests/basic.cpp b/tests/basic.cpp index 3338164..dc3c4d8 100644 --- a/tests/basic.cpp +++ b/tests/basic.cpp @@ -158,20 +158,20 @@ TEST_CASE("Verify dynamic calls with arguments", "[Basic]") Script::set_dynamic_call("void sys_test_data (TestData*, int, TestData*)", [&] (Script& script) { struct TestData { int a = 0, b = 0, c = 0; float x = 0, y = 0, z = 0; }; - // A dynamic span uses 2 registers, while std::array uses 1 (as it's a fixed size array) - auto [data, data2] = script.args, std::array> (); + // A dynamic span uses 2 registers, while pointer-to-struct uses 1 (size is known at compile time) + auto [data, data2] = script.args, TestData*> (); REQUIRE(data[0].a == 123); REQUIRE(data[0].b == 456); REQUIRE(data[0].c == 789); REQUIRE(data[0].x == 10.0f); REQUIRE(data[0].y == 100.0f); REQUIRE(data[0].z == 1000.0f); - REQUIRE(data2[0].a == 123); - REQUIRE(data2[0].b == 456); - REQUIRE(data2[0].c == 789); - REQUIRE(data2[0].x == 10.0f); - REQUIRE(data2[0].y == 100.0f); - REQUIRE(data2[0].z == 1000.0f); + REQUIRE(data2->a == 123); + REQUIRE(data2->b == 456); + REQUIRE(data2->c == 789); + REQUIRE(data2->x == 10.0f); + REQUIRE(data2->y == 100.0f); + REQUIRE(data2->z == 1000.0f); data_called += 1; });