From cf8e75fae7702855b3d81ed11b2fb480c31a7fde Mon Sep 17 00:00:00 2001 From: Julius Ikkala Date: Tue, 6 May 2025 20:56:18 +0300 Subject: Parse char literals as integers (#6989) * Parse char literals as integers * Fix formatting * Parse escaped chars correctly --------- Co-authored-by: Yong He --- tests/front-end/char-literal.slang | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 tests/front-end/char-literal.slang (limited to 'tests') diff --git a/tests/front-end/char-literal.slang b/tests/front-end/char-literal.slang new file mode 100644 index 000000000..69d106c27 --- /dev/null +++ b/tests/front-end/char-literal.slang @@ -0,0 +1,30 @@ +//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK): -vk -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK): -dx12 -compute -shaderobj +//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK): -cpu -compute -shaderobj + +// Test that char literals work as expected. + +// CHECK: 48 +// CHECK-NEXT: 65 +// CHECK-NEXT: 6C +// CHECK-NEXT: 6C +// CHECK-NEXT: 6F +// CHECK-NEXT: 4E16 +// CHECK-NEXT: 754C +// CHECK-NEXT: A + +//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer outputBuffer; + +[numthreads(1, 1, 1)] +void computeMain() +{ + outputBuffer[0] = 'H'; + outputBuffer[1] = 'e'; + outputBuffer[2] = 'l'; + outputBuffer[3] = 'l'; + outputBuffer[4] = 'o'; + outputBuffer[5] = '世'; + outputBuffer[6] = '界'; + outputBuffer[7] = '\n'; +} -- cgit v1.2.3