From e81a5fe56f3177fc3c7040e2320ae083e3746eb7 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 3 Aug 2022 12:08:37 -0700 Subject: Basic pointer usages. (#2342) --- tests/cpu-program/pointer-basics.slang | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tests/cpu-program/pointer-basics.slang (limited to 'tests/cpu-program/pointer-basics.slang') diff --git a/tests/cpu-program/pointer-basics.slang b/tests/cpu-program/pointer-basics.slang new file mode 100644 index 000000000..3054cda1c --- /dev/null +++ b/tests/cpu-program/pointer-basics.slang @@ -0,0 +1,26 @@ +//TEST:EXECUTABLE: +__target_intrinsic(cpp, "printf(\"%s\\n\", ($0).getBuffer())") +void writeln(String text); + +public __extern_cpp int main() +{ + uint2 value; + int *pValue = (int*)&value; + *pValue = 1; + (*pValue)++; + ++pValue[0]; + ++pValue; + *pValue = 1; + pValue = (int *)&value; + int64_t ptrVal = int64_t(pValue); + pValue = (int *)ptrVal; + if (pValue + && pValue != nullptr + && ptrVal != 0 + && value[0] == 3 + && pValue[1] == 1) + writeln("Success"); + else + writeln("Fail"); + return 0; +} \ No newline at end of file -- cgit v1.2.3