summaryrefslogtreecommitdiffstats
path: root/tests/language-feature
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-09-15 14:22:59 -0700
committerGitHub <noreply@github.com>2022-09-15 14:22:59 -0700
commita6032446c6bf7f64d1e201bf438a4c7605a3dbb4 (patch)
treea95267c52155e13699ff9aab38ab68353d76939e /tests/language-feature
parent05f9aaf6a4ef246dcf89b00000a8e59e90c47662 (diff)
Language feature: pointer sized int types. (#2401)
* Language feature: pointer sized int types. * Fix. * small change to test. * Fix stdlib. * Fix. * Fix. * Add typedef for `size_t` in stdlib. * Fix test. * Add `intptr_t::size` constant. Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tests/language-feature')
-rw-r--r--tests/language-feature/types/intptr.slang37
-rw-r--r--tests/language-feature/types/intptr.slang.expected.txt1
2 files changed, 38 insertions, 0 deletions
diff --git a/tests/language-feature/types/intptr.slang b/tests/language-feature/types/intptr.slang
new file mode 100644
index 000000000..ea626adad
--- /dev/null
+++ b/tests/language-feature/types/intptr.slang
@@ -0,0 +1,37 @@
+// intptr.slang
+
+// Test pointer-sized integer types.
+
+//TEST(compute):COMPARE_COMPUTE_EX:-slang -cpu -compute
+
+//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
+RWStructuredBuffer<int> outputBuffer;
+
+__target_intrinsic(cpp, "sizeof(intptr_t)")
+intptr_t getNativeIntPtrSize();
+
+__generic<T>
+__target_intrinsic(cpp, "sizeof($0)")
+intptr_t getSizeOf(T val);
+
+intptr_t getIntPtrVal() { return 0z; }
+
+[numthreads(1, 1, 1)]
+void computeMain(int3 dispatchThreadID: SV_DispatchThreadID)
+{
+ let expectedSize = getNativeIntPtrSize();
+ intptr_t a = 0z;
+ var actualSize = getSizeOf(getIntPtrVal());
+ int testResult = 1;
+ if (expectedSize != actualSize)
+ {
+ testResult = 0;
+ }
+ uintptr_t b = 0uz;
+ actualSize = getSizeOf(b);
+ if (expectedSize != actualSize)
+ {
+ testResult = 0;
+ }
+ outputBuffer[dispatchThreadID.x] = testResult;
+}
diff --git a/tests/language-feature/types/intptr.slang.expected.txt b/tests/language-feature/types/intptr.slang.expected.txt
new file mode 100644
index 000000000..56a6051ca
--- /dev/null
+++ b/tests/language-feature/types/intptr.slang.expected.txt
@@ -0,0 +1 @@
+1 \ No newline at end of file