diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-08-02 11:18:51 +0200 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-08-12 15:07:01 +0200 |
commit | 12028d7b97a89e6f160b43c70cbf660583039e9b (patch) | |
tree | edc17d81ff210f3b79b36b0d26a81816f04cda98 | |
parent | b219cbeda72d23b7ad6ff12cd159784b7ef00667 (diff) | |
download | gcc-12028d7b97a89e6f160b43c70cbf660583039e9b.zip gcc-12028d7b97a89e6f160b43c70cbf660583039e9b.tar.gz gcc-12028d7b97a89e6f160b43c70cbf660583039e9b.tar.bz2 |
borrowck: Avoid overloading issues on 32bit architectures
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)`
-rw-r--r-- | gcc/rust/checks/errors/borrowck/rust-bir-fact-collector.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/rust/checks/errors/borrowck/rust-bir-fact-collector.h b/gcc/rust/checks/errors/borrowck/rust-bir-fact-collector.h index bb8feda..6601c98 100644 --- a/gcc/rust/checks/errors/borrowck/rust-bir-fact-collector.h +++ b/gcc/rust/checks/errors/borrowck/rust-bir-fact-collector.h @@ -334,7 +334,7 @@ protected: // Main collection entry points (for different categories). 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 @@ -660,7 +660,7 @@ protected: // Subset helpers. } } - 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]; |