diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-04-25 17:14:16 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-25 17:14:16 +0000 |
commit | a24a14371b16c316a815a9440b1d960cd3f885dd (patch) | |
tree | e6ea6bfe5f4ba500144c74c2bc55c2b7fdd3d8c5 /gcc/rust/rust-diagnostics.h | |
parent | e5aedbbb241220f7ffb89d96a885dd6e44038259 (diff) | |
parent | e57b6895defde89d686620fa865e8edac637c0c5 (diff) | |
download | gcc-a24a14371b16c316a815a9440b1d960cd3f885dd.zip gcc-a24a14371b16c316a815a9440b1d960cd3f885dd.tar.gz gcc-a24a14371b16c316a815a9440b1d960cd3f885dd.tar.bz2 |
Merge #390
390: Clean up the compilation of block expressions r=philberty a=lrh2000
The original implementation of compiling block expressions and function bodies is incorrect. Here is an example.
```rust
fn foo() -> i32 {
1;
2;
0
}
```
The above Rust code will compile into the below GIMPLE code.
```c
i32 foo ()
{
i32 D.199;
D.199 = 1;
return D.199;
D.199 = 2;
return D.199;
D.199 = 0;
return D.199;
}
```
It is obviously incorrect.
*(Original in https://github.com/Rust-GCC/gccrs/pull/364)*
Co-authored-by: lrh2000 <lrh2000@pku.edu.cn>
Diffstat (limited to 'gcc/rust/rust-diagnostics.h')
0 files changed, 0 insertions, 0 deletions