aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2024-08-02 11:18:51 +0200
committerP-E-P <32375388+P-E-P@users.noreply.github.com>2024-08-06 13:38:34 +0000
commit6a05b0ada8a6f74310dbdc1b4c587bcfa7fc5a81 (patch)
treee38882e01ac8ea3df591e94c56740a96ed20ee71 /gcc
parentbccb35bca09f92d580b87dbb8ec81e1ed890b10a (diff)
downloadgcc-6a05b0ada8a6f74310dbdc1b4c587bcfa7fc5a81.zip
gcc-6a05b0ada8a6f74310dbdc1b4c587bcfa7fc5a81.tar.gz
gcc-6a05b0ada8a6f74310dbdc1b4c587bcfa7fc5a81.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)`
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rust/checks/errors/borrowck/rust-bir-fact-collector.h4
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 901b37b..1cd6b4d 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
@@ -662,7 +662,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];