diff --git a/cpp2rust/converter/converter.cpp b/cpp2rust/converter/converter.cpp index b4016158..706c8205 100644 --- a/cpp2rust/converter/converter.cpp +++ b/cpp2rust/converter/converter.cpp @@ -1488,7 +1488,6 @@ std::optional Converter::TryPluginConvert(clang::CallExpr *call) { void Converter::ConvertVariadicArg(clang::Expr *arg) { if (arg->getType()->isFunctionPointerType()) { - PushParen p(*this); Convert(arg); StrCat(".map_or(::std::ptr::null_mut(), |f| f as *mut ::libc::c_void)"); return; @@ -1706,7 +1705,10 @@ void Converter::ConvertGenericCallExpr(clang::CallExpr *expr) { StrCat("& ["); for (unsigned i = num_named_params; i < num_args; ++i) { auto *arg = expr->getArg(i + arg_begin); - ConvertVariadicArg(arg); + { + PushParen p(*this); + ConvertVariadicArg(arg); + } StrCat(".into()", token::kComma); } StrCat(']'); diff --git a/rules/cstring/tgt_refcount.rs b/rules/cstring/tgt_refcount.rs index 595e7e3c..f701422e 100644 --- a/rules/cstring/tgt_refcount.rs +++ b/rules/cstring/tgt_refcount.rs @@ -21,3 +21,7 @@ fn f4(a0: AnyPtr, a1: AnyPtr, a2: usize) -> AnyPtr { a0.memcpy(&a1, a2 as usize); a0.clone() } + +unsafe fn f7(a0: Ptr) -> u64 { + a0.to_string_iterator().count() as u64 +} diff --git a/tests/unit/out/refcount/va_arg_chain.rs b/tests/unit/out/refcount/va_arg_chain.rs index b4730218..d902d358 100644 --- a/tests/unit/out/refcount/va_arg_chain.rs +++ b/tests/unit/out/refcount/va_arg_chain.rs @@ -45,21 +45,24 @@ fn main_0() -> i32 { assert!( (((({ let _n: i32 = 2; - top_level_2(_n, &[100.into(), 200.into(), 300.into(), 400.into()]) + top_level_2( + _n, + &[(100).into(), (200).into(), (300).into(), (400).into()], + ) }) == 300) as i32) != 0) ); assert!( (((({ let _n: i32 = 0; - top_level_2(_n, &[42.into(), 99.into()]) + top_level_2(_n, &[(42).into(), (99).into()]) }) == 42) as i32) != 0) ); assert!( (((({ let _n: i32 = 3; - top_level_2(_n, &[1.into(), 2.into(), 3.into(), 4.into()]) + top_level_2(_n, &[(1).into(), (2).into(), (3).into(), (4).into()]) }) == 4) as i32) != 0) ); diff --git a/tests/unit/out/refcount/va_arg_concat.rs b/tests/unit/out/refcount/va_arg_concat.rs index a6f12cf1..9f594ccc 100644 --- a/tests/unit/out/refcount/va_arg_concat.rs +++ b/tests/unit/out/refcount/va_arg_concat.rs @@ -29,21 +29,24 @@ fn main_0() -> i32 { assert!( (((({ let _first: i32 = 1; - sum_ints_0(_first, &[2.into(), 3.into(), 4.into(), 0.into()]) + sum_ints_0(_first, &[(2).into(), (3).into(), (4).into(), (0).into()]) }) == 10) as i32) != 0) ); assert!( (((({ let _first: i32 = 100; - sum_ints_0(_first, &[0.into()]) + sum_ints_0(_first, &[(0).into()]) }) == 100) as i32) != 0) ); assert!( (((({ let _first: i32 = 5; - sum_ints_0(_first, &[5.into(), 5.into(), 5.into(), 5.into(), 0.into()]) + sum_ints_0( + _first, + &[(5).into(), (5).into(), (5).into(), (5).into(), (0).into()], + ) }) == 25) as i32) != 0) ); diff --git a/tests/unit/out/refcount/va_arg_conditional.rs b/tests/unit/out/refcount/va_arg_conditional.rs index 9673c8de..3dd65378 100644 --- a/tests/unit/out/refcount/va_arg_conditional.rs +++ b/tests/unit/out/refcount/va_arg_conditional.rs @@ -25,7 +25,7 @@ fn main_0() -> i32 { (((({ let _verbose: i32 = 1; let _fmt: Ptr = Ptr::from_string_literal(b"%d"); - conditional_log_0(_verbose, _fmt, &[42.into()]) + conditional_log_0(_verbose, _fmt, &[(42).into()]) }) == 42) as i32) != 0) ); @@ -33,7 +33,7 @@ fn main_0() -> i32 { (((({ let _verbose: i32 = 0; let _fmt: Ptr = Ptr::from_string_literal(b"%d"); - conditional_log_0(_verbose, _fmt, &[99.into()]) + conditional_log_0(_verbose, _fmt, &[(99).into()]) }) == -1_i32) as i32) != 0) ); diff --git a/tests/unit/out/refcount/va_arg_copy.rs b/tests/unit/out/refcount/va_arg_copy.rs index 0a2c54ef..13ddecd7 100644 --- a/tests/unit/out/refcount/va_arg_copy.rs +++ b/tests/unit/out/refcount/va_arg_copy.rs @@ -34,7 +34,7 @@ fn main_0() -> i32 { assert!( (((({ let _count: i32 = 3; - sum_with_copy_0(_count, &[10.into(), 20.into(), 30.into()]) + sum_with_copy_0(_count, &[(10).into(), (20).into(), (30).into()]) }) == 120) as i32) != 0) ); diff --git a/tests/unit/out/refcount/va_arg_fn_ptr.rs b/tests/unit/out/refcount/va_arg_fn_ptr.rs index 007862b4..2e448fd7 100644 --- a/tests/unit/out/refcount/va_arg_fn_ptr.rs +++ b/tests/unit/out/refcount/va_arg_fn_ptr.rs @@ -58,14 +58,14 @@ fn main_0() -> i32 { assert!( (((({ let _x: i32 = 5; - apply_unary_3(_x, &[FnPtr:: i32>::new(square_0).into()]) + apply_unary_3(_x, &[(FnPtr:: i32>::new(square_0)).into()]) }) == 25) as i32) != 0) ); assert!( (((({ let _x: i32 = 7; - apply_unary_3(_x, &[FnPtr:: i32>::new(negate_1).into()]) + apply_unary_3(_x, &[(FnPtr:: i32>::new(negate_1)).into()]) }) == -7_i32) as i32) != 0) ); @@ -73,7 +73,7 @@ fn main_0() -> i32 { (((({ let _a: i32 = 3; let _b: i32 = 4; - apply_binary_4(_a, _b, &[FnPtr:: i32>::new(add_2).into()]) + apply_binary_4(_a, _b, &[(FnPtr:: i32>::new(add_2)).into()]) }) == 7) as i32) != 0) ); diff --git a/tests/unit/out/refcount/va_arg_forward.rs b/tests/unit/out/refcount/va_arg_forward.rs index 1c15c65c..2a55116e 100644 --- a/tests/unit/out/refcount/va_arg_forward.rs +++ b/tests/unit/out/refcount/va_arg_forward.rs @@ -37,14 +37,14 @@ fn main_0() -> i32 { assert!( (((({ let _count: i32 = 3; - outer_1(_count, &[10.into(), 20.into(), 30.into()]) + outer_1(_count, &[(10).into(), (20).into(), (30).into()]) }) == 60) as i32) != 0) ); assert!( (((({ let _count: i32 = 1; - outer_1(_count, &[42.into()]) + outer_1(_count, &[(42).into()]) }) == 42) as i32) != 0) ); diff --git a/tests/unit/out/refcount/va_arg_mixed_int_ptr.rs b/tests/unit/out/refcount/va_arg_mixed_int_ptr.rs index 7dee8068..07a4ef11 100644 --- a/tests/unit/out/refcount/va_arg_mixed_int_ptr.rs +++ b/tests/unit/out/refcount/va_arg_mixed_int_ptr.rs @@ -37,12 +37,12 @@ fn main_0() -> i32 { mixed_args_0( _count, &[ - 0.into(), - 10.into(), - 1.into(), + (0).into(), + (10).into(), + (1).into(), (x.as_pointer()).into(), - 0.into(), - 20.into(), + (0).into(), + (20).into(), ], ) }) == 130) as i32) @@ -52,14 +52,14 @@ fn main_0() -> i32 { assert!( (((({ let _count: i32 = 1; - mixed_args_0(_count, &[1.into(), (y.as_pointer()).into()]) + mixed_args_0(_count, &[(1).into(), (y.as_pointer()).into()]) }) == 50) as i32) != 0) ); assert!( (((({ let _count: i32 = 2; - mixed_args_0(_count, &[0.into(), 5.into(), 0.into(), 3.into()]) + mixed_args_0(_count, &[(0).into(), (5).into(), (0).into(), (3).into()]) }) == 8) as i32) != 0) ); diff --git a/tests/unit/out/refcount/va_arg_mixed_types.rs b/tests/unit/out/refcount/va_arg_mixed_types.rs index a841fcfb..c8b86c32 100644 --- a/tests/unit/out/refcount/va_arg_mixed_types.rs +++ b/tests/unit/out/refcount/va_arg_mixed_types.rs @@ -36,12 +36,12 @@ fn main_0() -> i32 { sum_mixed_0( _count, &[ - 0.into(), - 10.into(), - 1.into(), - 2.05E+1.into(), - 2.into(), - 30_i64.into(), + (0).into(), + (10).into(), + (1).into(), + (2.05E+1).into(), + (2).into(), + (30_i64).into(), ], ) }) == 60) as i32) @@ -50,14 +50,17 @@ fn main_0() -> i32 { assert!( (((({ let _count: i32 = 1; - sum_mixed_0(_count, &[0.into(), 42.into()]) + sum_mixed_0(_count, &[(0).into(), (42).into()]) }) == 42) as i32) != 0) ); assert!( (((({ let _count: i32 = 2; - sum_mixed_0(_count, &[1.into(), 3.7E+0.into(), 2.into(), 100_i64.into()]) + sum_mixed_0( + _count, + &[(1).into(), (3.7E+0).into(), (2).into(), (100_i64).into()], + ) }) == 103) as i32) != 0) ); diff --git a/tests/unit/out/refcount/va_arg_non_primitive_ptrs.rs b/tests/unit/out/refcount/va_arg_non_primitive_ptrs.rs index 394d0439..e62b86ee 100644 --- a/tests/unit/out/refcount/va_arg_non_primitive_ptrs.rs +++ b/tests/unit/out/refcount/va_arg_non_primitive_ptrs.rs @@ -91,7 +91,7 @@ fn main_0() -> i32 { assert!( (((({ let _option: i32 = (opt::OPT_FILE as i32); - dispatch_0(_option, &[libcc2rs::cout().into()]) + dispatch_0(_option, &[(libcc2rs::cout()).into()]) }) == 1) as i32) != 0) ); @@ -100,10 +100,10 @@ fn main_0() -> i32 { let _option: i32 = (opt::OPT_FILE as i32); dispatch_0( _option, - &[(AnyPtr::default()) + &[((AnyPtr::default()) .cast::<::std::fs::File>() - .expect("ub:wrong type") - .into()], + .expect("ub:wrong type")) + .into()], ) }) == 0) as i32) != 0) diff --git a/tests/unit/out/refcount/va_arg_printf.rs b/tests/unit/out/refcount/va_arg_printf.rs index 6a2458b1..0c1850e3 100644 --- a/tests/unit/out/refcount/va_arg_printf.rs +++ b/tests/unit/out/refcount/va_arg_printf.rs @@ -32,17 +32,24 @@ pub fn main() { std::process::exit(main_0()); } fn main_0() -> i32 { + let dummy: Value> = Rc::new(RefCell::new(Ptr::from_string_literal(b"dummy"))); assert!( (((({ let _fmt: Ptr = Ptr::from_string_literal(b"hello %d %d"); - logf_1(_fmt, &[10.into(), 32.into()]) - }) == 42) as i32) + logf_1( + _fmt, + &[ + (10).into(), + ((*dummy.borrow()).to_string_iterator().count() as u64).into(), + ], + ) + }) == 15) as i32) != 0) ); assert!( (((({ let _fmt: Ptr = Ptr::from_string_literal(b"x %d %d"); - logf_1(_fmt, &[1.into(), 2.into()]) + logf_1(_fmt, &[(1).into(), (2).into()]) }) == 3) as i32) != 0) ); diff --git a/tests/unit/out/refcount/va_arg_snprintf.rs b/tests/unit/out/refcount/va_arg_snprintf.rs index f52b086d..e18d2d72 100644 --- a/tests/unit/out/refcount/va_arg_snprintf.rs +++ b/tests/unit/out/refcount/va_arg_snprintf.rs @@ -29,7 +29,7 @@ fn main_0() -> i32 { let _buf: Ptr = (buf.as_pointer() as Ptr); let _size: i32 = 1; let _fmt: Ptr = Ptr::from_string_literal(b"%d"); - extract_first_0(_buf, _size, _fmt, &[42.into()]) + extract_first_0(_buf, _size, _fmt, &[(42).into()]) }) == 42) as i32) != 0) ); @@ -39,7 +39,7 @@ fn main_0() -> i32 { let _buf: Ptr = (buf.as_pointer() as Ptr); let _size: i32 = 1; let _fmt: Ptr = Ptr::from_string_literal(b"%d"); - extract_first_0(_buf, _size, _fmt, &[65.into()]) + extract_first_0(_buf, _size, _fmt, &[(65).into()]) }) == 65) as i32) != 0) ); diff --git a/tests/unit/out/refcount/va_arg_struct_ctx.rs b/tests/unit/out/refcount/va_arg_struct_ctx.rs index f5ccee40..e6e9ad73 100644 --- a/tests/unit/out/refcount/va_arg_struct_ctx.rs +++ b/tests/unit/out/refcount/va_arg_struct_ctx.rs @@ -43,14 +43,14 @@ fn main_0() -> i32 { ({ let _ctx: Ptr = (ctx.as_pointer()); let _fmt: Ptr = Ptr::from_string_literal(b"error %d"); - set_error_0(_ctx, _fmt, &[42.into()]) + set_error_0(_ctx, _fmt, &[(42).into()]) }); assert!(((((*(*ctx.borrow()).last_error.borrow()) == 42) as i32) != 0)); (*(*ctx.borrow()).verbose.borrow_mut()) = 0; ({ let _ctx: Ptr = (ctx.as_pointer()); let _fmt: Ptr = Ptr::from_string_literal(b"error %d"); - set_error_0(_ctx, _fmt, &[99.into()]) + set_error_0(_ctx, _fmt, &[(99).into()]) }); assert!(((((*(*ctx.borrow()).last_error.borrow()) == 42) as i32) != 0)); return 0; diff --git a/tests/unit/out/refcount/va_arg_two_passes.rs b/tests/unit/out/refcount/va_arg_two_passes.rs index 7e67a2e4..7ba541ad 100644 --- a/tests/unit/out/refcount/va_arg_two_passes.rs +++ b/tests/unit/out/refcount/va_arg_two_passes.rs @@ -39,7 +39,7 @@ fn main_0() -> i32 { assert!( (((({ let _first: i32 = 2; - sum_then_product_0(_first, &[3.into(), 4.into(), 0.into()]) + sum_then_product_0(_first, &[(3).into(), (4).into(), (0).into()]) }) == 33) as i32) != 0) ); diff --git a/tests/unit/out/unsafe/va_arg_chain.rs b/tests/unit/out/unsafe/va_arg_chain.rs index 1d1b03cd..711bded5 100644 --- a/tests/unit/out/unsafe/va_arg_chain.rs +++ b/tests/unit/out/unsafe/va_arg_chain.rs @@ -40,21 +40,24 @@ unsafe fn main_0() -> i32 { assert!( ((((unsafe { let _n: i32 = 2; - top_level_2(_n, &[100.into(), 200.into(), 300.into(), 400.into()]) + top_level_2( + _n, + &[(100).into(), (200).into(), (300).into(), (400).into()], + ) }) == (300)) as i32) != 0) ); assert!( ((((unsafe { let _n: i32 = 0; - top_level_2(_n, &[42.into(), 99.into()]) + top_level_2(_n, &[(42).into(), (99).into()]) }) == (42)) as i32) != 0) ); assert!( ((((unsafe { let _n: i32 = 3; - top_level_2(_n, &[1.into(), 2.into(), 3.into(), 4.into()]) + top_level_2(_n, &[(1).into(), (2).into(), (3).into(), (4).into()]) }) == (4)) as i32) != 0) ); diff --git a/tests/unit/out/unsafe/va_arg_concat.rs b/tests/unit/out/unsafe/va_arg_concat.rs index 008ce7a7..de8a33ca 100644 --- a/tests/unit/out/unsafe/va_arg_concat.rs +++ b/tests/unit/out/unsafe/va_arg_concat.rs @@ -30,21 +30,24 @@ unsafe fn main_0() -> i32 { assert!( ((((unsafe { let _first: i32 = 1; - sum_ints_0(_first, &[2.into(), 3.into(), 4.into(), 0.into()]) + sum_ints_0(_first, &[(2).into(), (3).into(), (4).into(), (0).into()]) }) == (10)) as i32) != 0) ); assert!( ((((unsafe { let _first: i32 = 100; - sum_ints_0(_first, &[0.into()]) + sum_ints_0(_first, &[(0).into()]) }) == (100)) as i32) != 0) ); assert!( ((((unsafe { let _first: i32 = 5; - sum_ints_0(_first, &[5.into(), 5.into(), 5.into(), 5.into(), 0.into()]) + sum_ints_0( + _first, + &[(5).into(), (5).into(), (5).into(), (5).into(), (0).into()], + ) }) == (25)) as i32) != 0) ); diff --git a/tests/unit/out/unsafe/va_arg_conditional.rs b/tests/unit/out/unsafe/va_arg_conditional.rs index 281194f3..4c7a6816 100644 --- a/tests/unit/out/unsafe/va_arg_conditional.rs +++ b/tests/unit/out/unsafe/va_arg_conditional.rs @@ -25,7 +25,7 @@ unsafe fn main_0() -> i32 { ((((unsafe { let _verbose: i32 = 1; let _fmt: *const u8 = (b"%d\0".as_ptr().cast_mut()).cast_const(); - conditional_log_0(_verbose, _fmt, &[42.into()]) + conditional_log_0(_verbose, _fmt, &[(42).into()]) }) == (42)) as i32) != 0) ); @@ -33,7 +33,7 @@ unsafe fn main_0() -> i32 { ((((unsafe { let _verbose: i32 = 0; let _fmt: *const u8 = (b"%d\0".as_ptr().cast_mut()).cast_const(); - conditional_log_0(_verbose, _fmt, &[99.into()]) + conditional_log_0(_verbose, _fmt, &[(99).into()]) }) == (-1_i32)) as i32) != 0) ); diff --git a/tests/unit/out/unsafe/va_arg_copy.rs b/tests/unit/out/unsafe/va_arg_copy.rs index be25015a..cda85224 100644 --- a/tests/unit/out/unsafe/va_arg_copy.rs +++ b/tests/unit/out/unsafe/va_arg_copy.rs @@ -35,7 +35,7 @@ unsafe fn main_0() -> i32 { assert!( ((((unsafe { let _count: i32 = 3; - sum_with_copy_0(_count, &[10.into(), 20.into(), 30.into()]) + sum_with_copy_0(_count, &[(10).into(), (20).into(), (30).into()]) }) == (120)) as i32) != 0) ); diff --git a/tests/unit/out/unsafe/va_arg_forward.rs b/tests/unit/out/unsafe/va_arg_forward.rs index dde3359e..62acfb6c 100644 --- a/tests/unit/out/unsafe/va_arg_forward.rs +++ b/tests/unit/out/unsafe/va_arg_forward.rs @@ -34,14 +34,14 @@ unsafe fn main_0() -> i32 { assert!( ((((unsafe { let _count: i32 = 3; - outer_1(_count, &[10.into(), 20.into(), 30.into()]) + outer_1(_count, &[(10).into(), (20).into(), (30).into()]) }) == (60)) as i32) != 0) ); assert!( ((((unsafe { let _count: i32 = 1; - outer_1(_count, &[42.into()]) + outer_1(_count, &[(42).into()]) }) == (42)) as i32) != 0) ); diff --git a/tests/unit/out/unsafe/va_arg_mixed_int_ptr.rs b/tests/unit/out/unsafe/va_arg_mixed_int_ptr.rs index f1a3569e..333b398f 100644 --- a/tests/unit/out/unsafe/va_arg_mixed_int_ptr.rs +++ b/tests/unit/out/unsafe/va_arg_mixed_int_ptr.rs @@ -36,12 +36,12 @@ unsafe fn main_0() -> i32 { mixed_args_0( _count, &[ - 0.into(), - 10.into(), - 1.into(), + (0).into(), + (10).into(), + (1).into(), (&mut x as *mut i32).into(), - 0.into(), - 20.into(), + (0).into(), + (20).into(), ], ) }) == (130)) as i32) @@ -51,14 +51,14 @@ unsafe fn main_0() -> i32 { assert!( ((((unsafe { let _count: i32 = 1; - mixed_args_0(_count, &[1.into(), (&mut y as *mut i32).into()]) + mixed_args_0(_count, &[(1).into(), (&mut y as *mut i32).into()]) }) == (50)) as i32) != 0) ); assert!( ((((unsafe { let _count: i32 = 2; - mixed_args_0(_count, &[0.into(), 5.into(), 0.into(), 3.into()]) + mixed_args_0(_count, &[(0).into(), (5).into(), (0).into(), (3).into()]) }) == (8)) as i32) != 0) ); diff --git a/tests/unit/out/unsafe/va_arg_mixed_types.rs b/tests/unit/out/unsafe/va_arg_mixed_types.rs index 3e2c680a..3b929e12 100644 --- a/tests/unit/out/unsafe/va_arg_mixed_types.rs +++ b/tests/unit/out/unsafe/va_arg_mixed_types.rs @@ -37,12 +37,12 @@ unsafe fn main_0() -> i32 { sum_mixed_0( _count, &[ - 0.into(), - 10.into(), - 1.into(), - 2.05E+1.into(), - 2.into(), - 30_i64.into(), + (0).into(), + (10).into(), + (1).into(), + (2.05E+1).into(), + (2).into(), + (30_i64).into(), ], ) }) == (60)) as i32) @@ -51,14 +51,17 @@ unsafe fn main_0() -> i32 { assert!( ((((unsafe { let _count: i32 = 1; - sum_mixed_0(_count, &[0.into(), 42.into()]) + sum_mixed_0(_count, &[(0).into(), (42).into()]) }) == (42)) as i32) != 0) ); assert!( ((((unsafe { let _count: i32 = 2; - sum_mixed_0(_count, &[1.into(), 3.7E+0.into(), 2.into(), 100_i64.into()]) + sum_mixed_0( + _count, + &[(1).into(), (3.7E+0).into(), (2).into(), (100_i64).into()], + ) }) == (103)) as i32) != 0) ); diff --git a/tests/unit/out/unsafe/va_arg_non_primitive_ptrs.rs b/tests/unit/out/unsafe/va_arg_non_primitive_ptrs.rs index b9b89d6d..7dfcc03e 100644 --- a/tests/unit/out/unsafe/va_arg_non_primitive_ptrs.rs +++ b/tests/unit/out/unsafe/va_arg_non_primitive_ptrs.rs @@ -84,7 +84,7 @@ unsafe fn main_0() -> i32 { assert!( ((((unsafe { let _option: i32 = (opt::OPT_FILE as i32); - dispatch_0(_option, &[libcc2rs::stdout_unsafe().into()]) + dispatch_0(_option, &[(libcc2rs::stdout_unsafe()).into()]) }) == (1)) as i32) != 0) ); diff --git a/tests/unit/out/unsafe/va_arg_printf.rs b/tests/unit/out/unsafe/va_arg_printf.rs index 922a6f75..33cdcce4 100644 --- a/tests/unit/out/unsafe/va_arg_printf.rs +++ b/tests/unit/out/unsafe/va_arg_printf.rs @@ -26,17 +26,24 @@ pub fn main() { } } unsafe fn main_0() -> i32 { + let mut dummy: *const u8 = (b"dummy\0".as_ptr().cast_mut()).cast_const(); assert!( ((((unsafe { let _fmt: *const u8 = (b"hello %d %d\0".as_ptr().cast_mut()).cast_const(); - logf_1(_fmt, &[10.into(), 32.into()]) - }) == (42)) as i32) + logf_1( + _fmt, + &[ + (10).into(), + (libc::strlen(dummy as *const i8) as u64).into(), + ], + ) + }) == (15)) as i32) != 0) ); assert!( ((((unsafe { let _fmt: *const u8 = (b"x %d %d\0".as_ptr().cast_mut()).cast_const(); - logf_1(_fmt, &[1.into(), 2.into()]) + logf_1(_fmt, &[(1).into(), (2).into()]) }) == (3)) as i32) != 0) ); diff --git a/tests/unit/out/unsafe/va_arg_snprintf.rs b/tests/unit/out/unsafe/va_arg_snprintf.rs index 465f80eb..f4e6a8a6 100644 --- a/tests/unit/out/unsafe/va_arg_snprintf.rs +++ b/tests/unit/out/unsafe/va_arg_snprintf.rs @@ -30,7 +30,7 @@ unsafe fn main_0() -> i32 { let _buf: *mut u8 = buf.as_mut_ptr(); let _size: i32 = 1; let _fmt: *const u8 = (b"%d\0".as_ptr().cast_mut()).cast_const(); - extract_first_0(_buf, _size, _fmt, &[42.into()]) + extract_first_0(_buf, _size, _fmt, &[(42).into()]) }) == (42)) as i32) != 0) ); @@ -40,7 +40,7 @@ unsafe fn main_0() -> i32 { let _buf: *mut u8 = buf.as_mut_ptr(); let _size: i32 = 1; let _fmt: *const u8 = (b"%d\0".as_ptr().cast_mut()).cast_const(); - extract_first_0(_buf, _size, _fmt, &[65.into()]) + extract_first_0(_buf, _size, _fmt, &[(65).into()]) }) == (65)) as i32) != 0) ); diff --git a/tests/unit/out/unsafe/va_arg_struct_ctx.rs b/tests/unit/out/unsafe/va_arg_struct_ctx.rs index 581dbaf6..8e73ec02 100644 --- a/tests/unit/out/unsafe/va_arg_struct_ctx.rs +++ b/tests/unit/out/unsafe/va_arg_struct_ctx.rs @@ -31,14 +31,14 @@ unsafe fn main_0() -> i32 { (unsafe { let _ctx: *mut context = (&mut ctx as *mut context); let _fmt: *const u8 = (b"error %d\0".as_ptr().cast_mut()).cast_const(); - set_error_0(_ctx, _fmt, &[42.into()]) + set_error_0(_ctx, _fmt, &[(42).into()]) }); assert!(((((ctx.last_error) == (42)) as i32) != 0)); ctx.verbose = 0; (unsafe { let _ctx: *mut context = (&mut ctx as *mut context); let _fmt: *const u8 = (b"error %d\0".as_ptr().cast_mut()).cast_const(); - set_error_0(_ctx, _fmt, &[99.into()]) + set_error_0(_ctx, _fmt, &[(99).into()]) }); assert!(((((ctx.last_error) == (42)) as i32) != 0)); return 0; diff --git a/tests/unit/out/unsafe/va_arg_two_passes.rs b/tests/unit/out/unsafe/va_arg_two_passes.rs index 932c3830..24b60846 100644 --- a/tests/unit/out/unsafe/va_arg_two_passes.rs +++ b/tests/unit/out/unsafe/va_arg_two_passes.rs @@ -40,7 +40,7 @@ unsafe fn main_0() -> i32 { assert!( ((((unsafe { let _first: i32 = 2; - sum_then_product_0(_first, &[3.into(), 4.into(), 0.into()]) + sum_then_product_0(_first, &[(3).into(), (4).into(), (0).into()]) }) == (33)) as i32) != 0) ); diff --git a/tests/unit/va_arg_printf.c b/tests/unit/va_arg_printf.c index 7073e46a..e4a072a7 100644 --- a/tests/unit/va_arg_printf.c +++ b/tests/unit/va_arg_printf.c @@ -1,5 +1,6 @@ #include #include +#include int logf_impl(const char *fmt, va_list ap) { (void)fmt; @@ -15,7 +16,8 @@ int logf(const char *fmt, ...) { } int main() { - assert(logf("hello %d %d", 10, 32) == 42); + const char *dummy = "dummy"; + assert(logf("hello %d %d", 10, strlen(dummy)) == 15); assert(logf("x %d %d", 1, 2) == 3); return 0; }