[gcc/devel/rust/master] Merge #1433
Thomas Schwinge
tschwinge@gcc.gnu.org
Sat Aug 6 12:10:21 GMT 2022
https://gcc.gnu.org/g:e77bc10ba13af4e193bbda5f43006d11d9bccb45
commit e77bc10ba13af4e193bbda5f43006d11d9bccb45
Merge: bc65cac0e79 7022b9dd107
Author: bors[bot] <26634292+bors[bot]@users.noreply.github.com>
Date: Fri Aug 5 09:33:52 2022 +0000
Merge #1433
1433: Fix bad transmute for aggregate types r=philberty a=philberty
This changes the CONVERT_EXPR to use the same ```*(foo*)&bar``` style cast from
the c front-end to handle the case of:
```
int a[1];
int b = (int)a;
```
Which is converted into:
```
int b = *(int*)&a;
```
which the constant folders can turn directly into int b = a[0];
Fixes #1432
Co-authored-by: Philip Herron <philip.herron@embecosm.com>
Diff:
gcc/rust/backend/rust-compile-intrinsic.cc | 18 +++++-
gcc/testsuite/rust/compile/torture/issue-1432.rs | 72 ++++++++++++++++++++++++
2 files changed, 88 insertions(+), 2 deletions(-)
More information about the Gcc-cvs
mailing list