Skip to content

Commit 4bdbaf5

Browse files
committed
Update tests
1 parent 9796184 commit 4bdbaf5

25 files changed

Lines changed: 63 additions & 3 deletions

tests/benchmarks/out/unsafe/bfs.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,16 @@ impl Queue {
3636
return ((self.back) == (0_u64));
3737
}
3838
}
39+
// SAFETY: preserves unsafe C semantics; thread-safety is not enforced
40+
unsafe impl Sync for Queue {}
3941
#[repr(C)]
4042
#[derive(Copy, Clone, Default)]
4143
pub struct GraphNode {
4244
pub vertex: u32,
4345
pub next: *mut GraphNode,
4446
}
47+
// SAFETY: preserves unsafe C semantics; thread-safety is not enforced
48+
unsafe impl Sync for GraphNode {}
4549
#[repr(C)]
4650
#[derive(Copy, Clone, Default)]
4751
pub struct Graph {
@@ -60,6 +64,8 @@ impl Graph {
6064
})) as *mut GraphNode);
6165
}
6266
}
67+
// SAFETY: preserves unsafe C semantics; thread-safety is not enforced
68+
unsafe impl Sync for Graph {}
6369
pub unsafe fn BFS_0(graph: *const Graph, mut start_vertex: u32) -> *mut u32 {
6470
let mut Q: Queue = Queue {
6571
elems: Box::leak(

tests/benchmarks/out/unsafe/bst.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ pub struct node_t {
1313
pub right: *mut node_t,
1414
pub value: i32,
1515
}
16+
// SAFETY: preserves unsafe C semantics; thread-safety is not enforced
17+
unsafe impl Sync for node_t {}
1618
pub unsafe fn find_0(mut node: *mut node_t, mut value: i32) -> *mut node_t {
1719
if ((value) < ((*node).value)) && (!(((*node).left).is_null())) {
1820
return (unsafe {

tests/unit/out/unsafe/10_struct.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ pub struct GraphNode {
1212
pub dst: u32,
1313
pub next: *mut GraphNode,
1414
}
15+
// SAFETY: preserves unsafe C semantics; thread-safety is not enforced
16+
unsafe impl Sync for GraphNode {}
1517
#[repr(C)]
1618
#[derive(Copy, Clone, Default)]
1719
pub struct Graph {
@@ -30,6 +32,8 @@ impl Graph {
3032
})) as *mut GraphNode);
3133
}
3234
}
35+
// SAFETY: preserves unsafe C semantics; thread-safety is not enforced
36+
unsafe impl Sync for Graph {}
3337
pub fn main() {
3438
unsafe {
3539
std::process::exit(main_0() as i32);

tests/unit/out/unsafe/bst.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ pub struct node_t {
1313
pub right: *mut node_t,
1414
pub value: i32,
1515
}
16+
// SAFETY: preserves unsafe C semantics; thread-safety is not enforced
17+
unsafe impl Sync for node_t {}
1618
pub unsafe fn find_0(mut node: *mut node_t, mut value: i32) -> *mut node_t {
1719
if ((value) < ((*node).value)) && (!(((*node).left).is_null())) {
1820
return (unsafe {

tests/unit/out/unsafe/c_struct.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ pub struct Node {
2424
pub value: i32,
2525
pub next: *mut Node,
2626
}
27+
// SAFETY: preserves unsafe C semantics; thread-safety is not enforced
28+
unsafe impl Sync for Node {}
2729
#[derive(Clone, Copy, PartialEq, Debug, Default)]
2830
enum Color {
2931
#[default]

tests/unit/out/unsafe/clone_vs_move.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ impl Default for Foo {
3131
}
3232
}
3333
}
34+
// SAFETY: preserves unsafe C semantics; thread-safety is not enforced
35+
unsafe impl Sync for Foo {}
3436
pub fn main() {
3537
unsafe {
3638
std::process::exit(main_0() as i32);

tests/unit/out/unsafe/complex_function.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ impl X3 {
4040
return self.v;
4141
}
4242
}
43+
// SAFETY: preserves unsafe C semantics; thread-safety is not enforced
44+
unsafe impl Sync for X3 {}
4345
#[repr(C)]
4446
#[derive(Copy, Clone, Default)]
4547
pub struct X4 {

tests/unit/out/unsafe/default.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ impl Default for Pointers {
2626
}
2727
}
2828
}
29+
// SAFETY: preserves unsafe C semantics; thread-safety is not enforced
30+
unsafe impl Sync for Pointers {}
2931
pub fn main() {
3032
unsafe {
3133
std::process::exit(main_0() as i32);

tests/unit/out/unsafe/exprs.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ impl Y {
2525
return (&mut self.x as *mut X);
2626
}
2727
}
28+
// SAFETY: preserves unsafe C semantics; thread-safety is not enforced
29+
unsafe impl Sync for Y {}
2830
pub fn main() {
2931
unsafe {
3032
std::process::exit(main_0() as i32);

tests/unit/out/unsafe/fn_ptr_cast.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ pub unsafe fn test_double_cast_2() {
4949
pub struct Command {
5050
pub data: *mut ::libc::c_void,
5151
}
52+
// SAFETY: preserves unsafe C semantics; thread-safety is not enforced
53+
unsafe impl Sync for Command {}
5254
pub unsafe fn test_void_ptr_to_fn_3() {
5355
let mut cmd: Command = <Command>::default();
5456
cmd.data = std::mem::transmute::<Option<unsafe fn(i32) -> i32>, *mut ::libc::c_void>(Some(

0 commit comments

Comments
 (0)