Skip to content

Commit a75567d

Browse files
committed
black_box: test passing slice through black_box, ICE
1 parent 4de6627 commit a75567d

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

tests/compiletests/ui/lang/core/intrinsics/black_box.rs

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,14 @@ use core::hint::black_box;
1010
use spirv_std::spirv;
1111

1212
#[spirv(compute(threads(1)))]
13-
pub fn main(
14-
#[spirv(descriptor_set = 0, binding = 0, storage_buffer)] out: &mut [u32]
15-
) {
13+
pub fn main(#[spirv(descriptor_set = 0, binding = 0, storage_buffer)] out: &mut [u32]) {
1614
let result = disassemble();
1715
for i in 0..result.len() {
1816
out[i] = result[i];
1917
}
2018
}
2119

22-
pub fn disassemble() -> [u32; 8] {
20+
pub fn disassemble() -> [u32; 12] {
2321
// Test with various types
2422
let x = 42i32;
2523
let y = black_box(x);
@@ -37,5 +35,20 @@ pub fn disassemble() -> [u32; 8] {
3735
let data = 100u32;
3836
let ref_data = black_box(&data);
3937

40-
[y as u32, f32::to_bits(b), w[0], w[1], w[2], w[3], result, *ref_data]
38+
let ref_slice = black_box(v.as_slice());
39+
40+
[
41+
y as u32,
42+
f32::to_bits(b),
43+
w[0],
44+
w[1],
45+
w[2],
46+
w[3],
47+
result,
48+
*ref_data,
49+
ref_slice[0],
50+
ref_slice[1],
51+
ref_slice[2],
52+
ref_slice[3],
53+
]
4154
}

0 commit comments

Comments
 (0)