From: Kushal Pal <[email protected]>
gcc/rust/ChangeLog:
* checks/errors/borrowck/polonius/rust-polonius.h (struct FullPoint):
This is the correct way of extracting the required bits.
Signed-off-by: Kushal Pal <[email protected]>
---
gcc/rust/checks/errors/borrowck/polonius/rust-polonius.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/rust/checks/errors/borrowck/polonius/rust-polonius.h
b/gcc/rust/checks/errors/borrowck/polonius/rust-polonius.h
index b013a93671c..4447ad59430 100644
--- a/gcc/rust/checks/errors/borrowck/polonius/rust-polonius.h
+++ b/gcc/rust/checks/errors/borrowck/polonius/rust-polonius.h
@@ -45,7 +45,7 @@ struct FullPoint
static uint32_t extract_bb (Point point) { return point >> 16; }
static uint32_t extract_stmt (Point point)
{
- return (point & ~(1 << 16)) >> 1;
+ return (point >> 1) & ((1 << 15) - 1);
}
static bool extract_mid (Point point) { return point & 1; }
--
2.45.2