Skip to content

Commit

Permalink
borrowck: Avoid overloading issues on 32bit architectures
Browse files Browse the repository at this point in the history
On architectures where `size_t` is `unsigned int`, such as 32bit x86,
we encounter an issue with `PlaceId` and `FreeRegion` being aliases to
the same types. This poses an issue for overloading functions for these
two types, such as `push_subset` in that case. This commit renames one
of these `push_subset` functions to avoid the issue, but this should be
fixed with a newtype pattern for these two types.

gcc/rust/ChangeLog:

	* checks/errors/borrowck/rust-bir-fact-collector.h (points): Rename
	`push_subset(PlaceId, PlaceId)` to `push_subset_place(PlaceId, PlaceId)`
  • Loading branch information
CohenArthur authored and P-E-P committed Aug 6, 2024
1 parent bccb35b commit 6a05b0a
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions gcc/rust/checks/errors/borrowck/rust-bir-fact-collector.h
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@ class FactCollector : public Visitor
expr.get_rhs () - 1, current_bb, current_stmt);

issue_read_move (expr.get_rhs ());
push_subset (lhs, expr.get_rhs ());
push_place_subset (lhs, expr.get_rhs ());
}

void visit (const CallExpr &expr) override
Expand Down Expand Up @@ -662,7 +662,7 @@ class FactCollector : public Visitor
}
}

void push_subset (PlaceId lhs, PlaceId rhs)
void push_place_subset (PlaceId lhs, PlaceId rhs)
{
auto &lhs_place = place_db[lhs];
auto &rhs_place = place_db[rhs];
Expand Down

0 comments on commit 6a05b0a

Please sign in to comment.