Skip to content

Commit d5df023

Browse files
committed
Remove extra cast
1 parent b37fad7 commit d5df023

29 files changed

Lines changed: 61 additions & 64 deletions

cpp2rust/converter/converter.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2149,7 +2149,8 @@ bool Converter::VisitUnaryOperator(clang::UnaryOperator *expr) {
21492149
computed_expr_type_ = ComputedExprType::FreshValue;
21502150
break;
21512151
case clang::UO_LNot: {
2152-
bool needs_int_cast = expr->getType()->isIntegerType();
2152+
bool needs_int_cast =
2153+
expr->getType()->isIntegerType() && !expr->getType()->isBooleanType();
21532154
PushParen paren_cast(*this, needs_int_cast);
21542155
StrCat(token::kNot);
21552156
{

tests/benchmarks/out/refcount/bfs.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ pub fn BFS_0(graph: Ptr<Graph>, start_vertex: u32) -> Ptr<u32> {
152152
let _elem: i32 = ((*start_vertex.borrow()) as i32);
153153
(*Q.borrow()).enqueue(_elem)
154154
});
155-
'loop_: while (!({ (*Q.borrow()).empty() }) as bool) {
155+
'loop_: while !({ (*Q.borrow()).empty() }) {
156156
let current_vertex: Value<i32> =
157157
Rc::new(RefCell::new((({ (*Q.borrow()).dequeue() }) as i32)));
158158
let head: Value<Ptr<GraphNode>> = Rc::new(RefCell::new(
@@ -165,9 +165,9 @@ pub fn BFS_0(graph: Ptr<Graph>, start_vertex: u32) -> Ptr<u32> {
165165
let adj_vertex: Value<i32> = Rc::new(RefCell::new(
166166
((*(*(*head.borrow()).upgrade().deref()).vertex.borrow()) as i32),
167167
));
168-
if (!((*visited.borrow())
168+
if !((*visited.borrow())
169169
.offset((*adj_vertex.borrow()) as isize)
170-
.read()) as bool)
170+
.read())
171171
{
172172
(*visited.borrow())
173173
.offset((*adj_vertex.borrow()) as isize)

tests/benchmarks/out/unsafe/bfs.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,12 @@ pub unsafe fn BFS_0(graph: *const Graph, mut start_vertex: u32) -> *mut u32 {
9595
let _elem: i32 = (start_vertex as i32);
9696
Q.enqueue(_elem)
9797
});
98-
'loop_: while (!(unsafe { Q.empty() }) as bool) {
98+
'loop_: while !(unsafe { Q.empty() }) {
9999
let mut current_vertex: i32 = ((unsafe { Q.dequeue() }) as i32);
100100
let mut head: *mut GraphNode = (*(*graph).adj.offset((current_vertex) as isize));
101101
'loop_: while !((head).is_null()) {
102102
let mut adj_vertex: i32 = ((*head).vertex as i32);
103-
if (!(*visited.offset((adj_vertex) as isize)) as bool) {
103+
if !(*visited.offset((adj_vertex) as isize)) {
104104
(*visited.offset((adj_vertex) as isize)) = true;
105105
(unsafe {
106106
let _elem: i32 = adj_vertex;

tests/unit/out/refcount/assert.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ pub fn main() {
1010
std::process::exit(main_0());
1111
}
1212
fn main_0() -> i32 {
13-
assert!((!(0 != 0) as bool));
13+
assert!(!(0 != 0));
1414
return 1;
1515
}

tests/unit/out/refcount/bool_condition_enum.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,18 @@ fn main_0() -> i32 {
3232
if ((*code.borrow()) != Code::from(0)) {
3333
assert!(false);
3434
}
35-
if (!((*code.borrow()) != Code::from(0)) as bool) {
35+
if !((*code.borrow()) != Code::from(0)) {
3636
assert!(true);
3737
}
3838
if ((*err.borrow()) != Code::from(0)) {
3939
assert!(true);
4040
}
41-
if (!((*err.borrow()) != Code::from(0)) as bool) {
41+
if !((*err.borrow()) != Code::from(0)) {
4242
assert!(false);
4343
}
44-
let t9: Value<i32> = Rc::new(RefCell::new(
45-
((!((*code.borrow()) != Code::from(0)) as bool) as i32),
46-
));
44+
let t9: Value<i32> = Rc::new(RefCell::new((!((*code.borrow()) != Code::from(0)) as i32)));
4745
assert!(((*t9.borrow()) == 1));
4846
let b4: Value<bool> = Rc::new(RefCell::new(((*code.borrow()) != Code::from(0)).clone()));
49-
assert!((!(*b4.borrow()) as bool));
47+
assert!(!(*b4.borrow()));
5048
return 0;
5149
}

tests/unit/out/refcount/bool_condition_enum_c.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ fn main_0() -> i32 {
3232
if ((*code.borrow()) != Code::from(0)) {
3333
assert!((0 != 0));
3434
}
35-
if (!((*code.borrow()) != Code::from(0)) as bool) {
35+
if !((*code.borrow()) != Code::from(0)) {
3636
assert!((1 != 0));
3737
}
3838
if ((*err.borrow()) != Code::from(0)) {
3939
assert!((1 != 0));
4040
}
41-
if (!((*err.borrow()) != Code::from(0)) as bool) {
41+
if !((*err.borrow()) != Code::from(0)) {
4242
assert!((0 != 0));
4343
}
4444
let t9: Value<i32> = Rc::new(RefCell::new((!((*code.borrow()) != Code::from(0)) as i32)));

tests/unit/out/refcount/bool_condition_int.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ fn main_0() -> i32 {
1919
if ((*n.borrow()) != 0) {
2020
assert!(true);
2121
}
22-
if (!((*n.borrow()) != 0) as bool) {
22+
if !((*n.borrow()) != 0) {
2323
assert!(false);
2424
}
2525
if ((*zero.borrow()) != 0) {
2626
assert!(false);
2727
}
28-
if (!((*zero.borrow()) != 0) as bool) {
28+
if !((*zero.borrow()) != 0) {
2929
assert!(true);
3030
}
3131
if ((*u.borrow()) != 0) {
@@ -61,9 +61,9 @@ fn main_0() -> i32 {
6161
200
6262
}));
6363
assert!(((*t2.borrow()) == 200));
64-
let t7: Value<i32> = Rc::new(RefCell::new(((!((*n.borrow()) != 0) as bool) as i32)));
64+
let t7: Value<i32> = Rc::new(RefCell::new((!((*n.borrow()) != 0) as i32)));
6565
assert!(((*t7.borrow()) == 0));
66-
let t8: Value<i32> = Rc::new(RefCell::new(((!((*zero.borrow()) != 0) as bool) as i32)));
66+
let t8: Value<i32> = Rc::new(RefCell::new((!((*zero.borrow()) != 0) as i32)));
6767
assert!(((*t8.borrow()) == 1));
6868
let b1: Value<bool> = Rc::new(RefCell::new(((*n.borrow()) != 0)));
6969
assert!((*b1.borrow()));

tests/unit/out/refcount/bool_condition_int_c.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ fn main_0() -> i32 {
1919
if ((*n.borrow()) != 0) {
2020
assert!((1 != 0));
2121
}
22-
if (!((*n.borrow()) != 0) as bool) {
22+
if !((*n.borrow()) != 0) {
2323
assert!((0 != 0));
2424
}
2525
if ((*zero.borrow()) != 0) {
2626
assert!((0 != 0));
2727
}
28-
if (!((*zero.borrow()) != 0) as bool) {
28+
if !((*zero.borrow()) != 0) {
2929
assert!((1 != 0));
3030
}
3131
if ((*u.borrow()) != 0) {

tests/unit/out/refcount/bool_condition_ptr.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ fn main_0() -> i32 {
1616
if !(*p.borrow()).is_null() {
1717
assert!(true);
1818
}
19-
if (!(!(*p.borrow()).is_null()) as bool) {
19+
if !(!(*p.borrow()).is_null()) {
2020
assert!(false);
2121
}
2222
if !(*np.borrow()).is_null() {
2323
assert!(false);
2424
}
25-
if (!(!(*np.borrow()).is_null()) as bool) {
25+
if !(!(*np.borrow()).is_null()) {
2626
assert!(true);
2727
}
2828
let iter: Value<Ptr<i32>> = Rc::new(RefCell::new((*p.borrow()).clone()));
@@ -36,15 +36,13 @@ fn main_0() -> i32 {
3636
assert!(((*t3.borrow()) == 1));
3737
let t4: Value<i32> = Rc::new(RefCell::new(if !(*np.borrow()).is_null() { 1 } else { 0 }));
3838
assert!(((*t4.borrow()) == 0));
39-
let t5: Value<i32> = Rc::new(RefCell::new(((!(!(*p.borrow()).is_null()) as bool) as i32)));
39+
let t5: Value<i32> = Rc::new(RefCell::new((!(!(*p.borrow()).is_null()) as i32)));
4040
assert!(((*t5.borrow()) == 0));
41-
let t6: Value<i32> = Rc::new(RefCell::new(
42-
((!(!(*np.borrow()).is_null()) as bool) as i32),
43-
));
41+
let t6: Value<i32> = Rc::new(RefCell::new((!(!(*np.borrow()).is_null()) as i32)));
4442
assert!(((*t6.borrow()) == 1));
4543
let b2: Value<bool> = Rc::new(RefCell::new((!(*p.borrow()).is_null()).clone()));
4644
let b3: Value<bool> = Rc::new(RefCell::new((!(*np.borrow()).is_null()).clone()));
4745
assert!((*b2.borrow()));
48-
assert!((!(*b3.borrow()) as bool));
46+
assert!(!(*b3.borrow()));
4947
return 0;
5048
}

tests/unit/out/refcount/bool_condition_ptr_c.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ fn main_0() -> i32 {
1616
if !(*p.borrow()).is_null() {
1717
assert!((1 != 0));
1818
}
19-
if (!(!(*p.borrow()).is_null()) as bool) {
19+
if !(!(*p.borrow()).is_null()) {
2020
assert!((0 != 0));
2121
}
2222
if !(*np.borrow()).is_null() {
2323
assert!((0 != 0));
2424
}
25-
if (!(!(*np.borrow()).is_null()) as bool) {
25+
if !(!(*np.borrow()).is_null()) {
2626
assert!((1 != 0));
2727
}
2828
let iter: Value<Ptr<i32>> = Rc::new(RefCell::new((*p.borrow()).clone()));

0 commit comments

Comments
 (0)